Étant donné deux entiers positifs A et B , renvoyez la position p qui minimise le nombre de facteurs premiers (comptage des multiplicités) de l'entier résultant, lorsque B est inséré dans A en p .
Par exemple, étant donné A = 1234 et B = 32 , ce sont les insertions possibles (avec p étant indexé 0) et les informations correspondantes sur leurs facteurs premiers:
p | Résultat | Facteurs premiers | Ω (N) / Nombre 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
Vous pouvez voir que le résultat a un nombre minimal de facteurs premiers, 3, lorsque p vaut 1. Donc, dans ce cas particulier, vous devez sortir 1 .
Spécifications
S'il existe plusieurs positions p qui minimisent le résultat, vous pouvez choisir de les afficher toutes ou l'une d'entre elles.
Vous pouvez choisir l'indexation 0 ou l'indexation 1 pour p , mais ce choix doit être cohérent.
A et B peuvent être considérés comme des entiers, des chaînes ou des listes de chiffres.
Vous pouvez concurrencer dans n'importe quel langage de programmation et pouvez prendre des entrées et fournir des sorties par n'importe quelle méthode standard , tout en prenant note que ces failles sont interdites par défaut. Il s'agit de code-golf, donc la soumission la plus courte (notée en octets) gagne!
Cas de test
A, B -> p (indexé 0) / p (indexé 1) 1234, 32 -> 1/2 3456, 3 -> 4/5 378, 1824 -> 0/1 1824, 378 -> 4/5 67, 267 -> Tout ou partie parmi: [1, 2] / [2, 3] 435, 1 -> Tout ou partie parmi: [1, 2, 3] / [2, 3, 4] 378100, 1878980901 -> Tout ou partie parmi: [5, 6] / [6, 7]
Pour plus de commodité, voici une liste de tuples représentant chaque paire d'entrées:
[(1234, 32), (3456, 3), (378, 1824), (1824, 378), (67, 267), (435, 1), (378100, 1878980901)]
132234
au lieu de 1
.