Dados dois inteiros positivos A e B , retorne a posição p que minimiza o número de fatores primos (contando multiplicidades) do número inteiro resultante, quando B é inserido em A em p .
Por exemplo, dados A = 1234 e B = 32 , essas são as inserções possíveis (com p sendo indexado a 0) e as informações correspondentes sobre seus fatores principais:
p Resultado Fatores primos | Ω (N) / contagem 0 321234 [2, 3, 37, 1447] 4 1 | 132234 [2, 3, 22039] 3 2 123234 [2, 3, 19, 23, 47] 5 3 123324 [2, 2, 3, 43, 239] 5 4 123432 [2, 2, 2, 3, 37, 139] | 6
Você pode ver que o resultado possui um número mínimo de fatores primos, 3, quando p é 1. Portanto, nesse caso em particular, você deve gerar 1 .
Especificações
Se houver várias posições p que minimizem o resultado, você pode optar por imprimir todas elas ou qualquer uma delas.
Você pode escolher indexação 0 ou indexação 1 para p , mas essa opção deve ser consistente.
A e B podem ser tomados como números inteiros, seqüências de caracteres ou listas de dígitos.
Você pode competir em qualquer linguagem de programação e pode receber e fornecer saída por qualquer método padrão , observando que essas brechas são proibidas por padrão. Isso é código-golfe, então a submissão mais curta (pontuada em bytes) vence!
Casos de teste
A, B -> p (indexado 0) / p (indexado 1) 1234, 32 -> 1/2 3456, 3 -> 4/5 378, 1824 -> 0/1 1824, 378 -> 4/5 67, 267 -> Qualquer um ou todos entre: [1, 2] / [2, 3] 435, 1 -> Qualquer um ou todos entre: [1, 2, 3] / [2, 3, 4] 378100, 1878980901 -> Qualquer um ou todos entre: [5, 6] / [6, 7]
Por conveniência, aqui está uma lista de tuplas representando cada par de entradas:
[(1234, 32), (3456, 3), (378, 1824), (1824, 378), (67, 267), (435, 1), (378100, 1878980901)]
132234
vez de 1
.