Résumé: testez si une séquence d'entrée d'entiers est "admissible", ce qui signifie qu'elle ne couvre pas toutes les classes de résidus pour n'importe quel module.
Qu'est-ce qu'une séquence "admissible"?
Etant donné un entier m ≥ 2, les classes de résidus modulo m ne sont que les m progressions arithmétiques possibles de différence commune m. Par exemple, lorsque m = 4, les 4 classes de résidus modulo 4 sont
..., -8, -4, 0, 4, 8, 12, ...
..., -7, -3, 1, 5, 9, 13, ...
..., -6, -2, 2, 6, 10, 14, ...
..., -5, -1, 3, 7, 11, 15, ...
La kième classe de résidus comprend tous les entiers dont le reste lors de la division par m est égal à k. (tant que l'on définit correctement "reste" pour les entiers négatifs)
Une séquence d'entiers a1, a2, ..., ak est admissible modulo m si elle ne coupe pas au moins une des classes de résidus. Par exemple, {0, 1, 2, 3} et {-4, 5, 14, 23} ne sont pas admissibles modulo 4, mais {0, 1, 2, 4} et {0, 1, 5, 9} et {0, 1, 2, -3} sont modulo 4. admissibles. De plus, {0, 1, 2, 3, 4} n'est pas modulo 4 admissible, tandis que {0, 1, 2} est modulo 4 admissible.
Enfin, une séquence d'entiers est simplement admissible si elle est admissible modulo m pour chaque entier m ≥ 2.
Le défi
Écrivez un programme ou une fonction qui prend en entrée une séquence d'entiers et renvoie une valeur Truthy (cohérente) si la séquence est admissible et une valeur Falsy (cohérente) si la séquence n'est pas admissible.
La séquence d'entrée d'entiers peut être dans n'importe quel format raisonnable. Vous pouvez supposer que la séquence d'entrée a au moins deux entiers. (Vous pouvez également supposer que les entiers d'entrée sont distincts si vous le souhaitez, mais cela n'aide probablement pas.) Vous devez être capable de gérer des entiers positifs et négatifs (et 0).
Score de code-golf habituel : la réponse la plus courte, en octets, l'emporte.
Exemple d'entrée
Les séquences d'entrée suivantes doivent chacune donner une valeur Truthy:
0 2
-1 1
-100 -200
0 2 6
0 2 6 8
0 2 6 8 12
0 4 6 10 12
-60 0 60 120 180
0 2 6 8 12 26
11 13 17 19 23 29 31
-11 -13 -17 -19 -23 -29 -31
Les séquences d'entrée suivantes doivent chacune donner une valeur Falsy:
0 1
-1 4
-100 -201
0 2 4
0 2 6 10
0 2 6 8 14
7 11 13 17 19 23 29
-60 0 60 120 180 240 300
Conseils
- Notez que toute séquence de 3 entiers ou moins est automatiquement modulo 4. Plus généralement, une séquence de longueur k est automatiquement modulo m lorsque m> k. Il s'ensuit que le test d'admissibilité ne nécessite vraiment que la vérification d'un nombre fini de m.
- Notez également que 2 divise 4, et que toute séquence qui est admissible modulo 2 (c'est-à-dire, tout pair ou tout impair) est automatiquement admissible modulo 4. Plus généralement, si m divise n et qu'une séquence est admissible modulo m, alors elle est automatiquement modulo n. Pour vérifier la recevabilité, il suffit donc de ne considérer que prime m si vous le souhaitez.
- Si a1, a2, ..., ak est une séquence admissible, alors a1 + c, a2 + c, ..., ak + c est également admissible pour tout entier c (positif ou négatif).
Pertinence mathématique (lecture facultative)
Soit a1, a2, ..., ak une suite d'entiers. Supposons qu'il existe une infinité de nombres entiers n tels que n + a1, n + a2, ..., n + ak sont tous premiers. Il est alors facile de montrer que a1, a2, ..., ak doivent être admissibles. En effet, supposons que a1, a2, ..., ak ne soit pas admissible, et soit m un nombre tel que a1, a2, ..., ak ne soit pas admissible modulo m. Alors, peu importe ce que nous choisissons, l'un des nombres n + a1, n + a2, ..., n + ak doit être un multiple de m, il ne peut donc pas être premier.
La conjecture des k-tuples premiers est l'inverse de cette affirmation, qui reste un problème largement ouvert dans la théorie des nombres: elle affirme que si a1, a2, ..., ak est une séquence admissible (ou k-tuple ), alors là doit être une infinité de nombres entiers n tels que n + a1, n + a2, ..., n + ak sont tous premiers. Par exemple, la séquence admissible 0, 2 donne l'énoncé qu'il devrait y avoir une infinité de nombres entiers n tels que n et n + 2 sont premiers, c'est la conjecture des nombres premiers jumeaux (toujours non prouvée).
-60 0 60 120 180 240 300
intersecte chaque classe de résidus modulo 7, elle n'est donc pas admissible.
[_60:0:60:120:180]
me donne la vérité; en effet, il n'intersecte pas au moins une classe dans chaquem
du2
au5
inclusif; en outre, il ne recoupe qu'une seule classe dans chaquem
de2
à5
inclusif.