Avec une liste d’entiers positifs, indiquez si chaque paire d’entiers adjacents partage un facteur premier. En d'autres termes, la sortie de vérité si et seulement si aucun deux entiers voisins de la liste ne sont co-premiers.
En d’autres termes encore: à partir d’une liste d’entiers positifs [a 1 a 2 … a n ] , indiquer si
gcd (a 1 , a 2 )> 1 && gcd (a 2 , a 3 )> 1 &&… && gcd (a n − 1 , a n )> 1.
La liste contiendra toujours au moins deux éléments (n ≥ 2).
Toutefois…
Ce défi est également à source restreinte : les points de code dans votre réponse (quelle que soit la page de code dans laquelle il se trouve) doivent satisfaire à la condition recherchée par votre programme.
Par exemple, print 2
est un programme valide. En tant que liste de points de code Unicode, il s'agit de [112 114 105 110 116 32 50] , qui remplit cette condition: 112 et 114 partagent un facteur 2 ; et 114 et 105 partagent un facteur de 3 , etc.
Cependant, nemain
peut pas se produire dans un programme valide (désolé!), Car les points de code Unicode de m
et a
, à savoir 109 et 97 , sont coprimes. (Heureusement, votre soumission ne doit pas être un programme complet!)
Votre programme n'est pas autorisé à contenir le code 0.
Cas de test
Vérité
[6 21] -> 1
[502 230 524 618 996] -> 1
[314 112 938 792 309] -> 1
[666 642 658 642 849 675 910 328 320] -> 1
[922 614 530 660 438 854 861 357 477] -> 1
Fausseté:
[6 7] -> 0
[629 474 502 133 138] -> 0
[420 679 719 475 624] -> 0
[515 850 726 324 764 555 752 888 467] -> 0
[946 423 427 507 899 812 786 576 844] -> 0
C'est code-golf : le code le plus court en octets gagne.
print 2
était valide, mais );=ae
être premier est vraiment difficile, je ne pensais pas que ... Je me demande si quelque chose comme Haskell peut rivaliser?
%)+/5;=CGIOSYaegkmq\DEL
.