Goldbach : Décomposer en somme de premiers

Ce défi est tiré de c0d1ngUP 2014

Un nombre premier est un nombre entier qui a exactement 2 diviseurs : 1 et lui-même. Par exemple, 2, 3, 5, 7, 11, 13 sont les plus petits nombres premiers. Au contraire, 8 n'est pas un nombre premier car il est divisible par 1, 2, 4 et 8 (il a donc 4 diviseurs distincts et non 2).

Tout nombre pair peut s'écrire comme la somme de deux nombres premiers. Par exemple, 12 = 7+5 (7 et 5 sont premiers). 24 = 11+13 (11 et 13 sont premiers). Parfois il existe plusieurs sommes qui conviennent. Par exemple 24 vaut aussi 19 + 5 (et 19 et 5 sont premiers).

Défi :

Une séquence de nombres pairs est fournie en entrée. Pour chaque élément de cette séquence, vous devez donner un couple de nombres premiers dont la somme vaut cet élément.

Testez votre code :

Si l'entrée vaut (24, 6, 12, 16) une réponse possible est : (19,5), (3,3), (7,5), (3,13)

Attention, le nombre 1 n'est pas premier (car il n'a qu'un seul diviseur, et non 2).

Type de retour
Une séquence de couples de nombres
Entrées du problème

(4878, 8704, 7320, 7618, 7964, 5356, 1152, 8566, 5396, 7678, 2818, 1060, 9306, 1362, 7912, 5948, 7974, 3122, 3362, 3620, 3260, 4058, 4710, 7210, 304, 6774, 738, 7644, 928, 2636, 4752, 8564, 2772, 5792, 5120, 2266, 6002, 9020, 8006, 8284, 5730, 5416, 2662, 728, 7050, 8098, 9018, 5806, 5618, 9866)

Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.