Riepilogo: verifica se una sequenza di input di numeri interi è "ammissibile", nel senso che non copre tutte le classi di residui per nessun modulo.
Che cos'è una sequenza "ammissibile"?
Dato un numero intero m ≥ 2, le classi di residui modulo m sono solo le m possibili progressioni aritmetiche della differenza comune m. Ad esempio, quando m = 4, le 4 classi di residui modulo 4 sono
..., -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 kth classe di residui è costituita da tutti i numeri interi il cui resto alla divisione per m è uguale a k. (purché si definisca correttamente "resto" per numeri interi negativi)
Una sequenza di numeri interi a1, a2, ..., ak è ammissibile modulo m se non riesce a intersecare almeno una delle classi di residui. Ad esempio, {0, 1, 2, 3} e {-4, 5, 14, 23} non sono ammissibili modulo 4, ma {0, 1, 2, 4} e {0, 1, 5, 9} e {0, 1, 2, -3} sono ammissibili modulo 4. Inoltre, {0, 1, 2, 3, 4} non è ammissibile modulo 4, mentre {0, 1, 2} è ammissibile modulo 4.
Infine, una sequenza di numeri interi è semplicemente ammissibile se è ammissibile modulo m per ogni numero intero m ≥ 2.
La sfida
Scrivere un programma o una funzione che accetta una sequenza di numeri interi come input e restituisce un valore di Verità (coerente) se la sequenza è ammissibile e un valore di Falsia (coerente) se la sequenza non è ammissibile.
La sequenza di input di numeri interi può essere in qualsiasi formato ragionevole. Si può presumere che la sequenza di input abbia almeno due numeri interi. (Puoi anche supporre che gli interi di input siano distinti se vuoi, anche se probabilmente non aiuta.) Devi essere in grado di gestire numeri interi positivi e negativi (e 0).
Punteggio di golf di codice abituale : la risposta più breve, in byte, vince.
Input di esempio
Le seguenti sequenze di input dovrebbero ognuna dare un valore di Verità:
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
Le seguenti sequenze di input dovrebbero dare ciascuna un valore 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
Suggerimenti
- Si noti che qualsiasi sequenza di 3 o meno numeri interi è automaticamente ammissibile modulo 4. Più in generale, una sequenza di lunghezza k è automaticamente ammissibile modulo m quando m> k. Ne consegue che la verifica della ricevibilità richiede in realtà solo la verifica di un numero finito di m.
- Si noti inoltre che 2 divide 4 e che qualsiasi sequenza ammissibile modulo 2 (ovvero, tutto pari o dispari) è automaticamente ammissibile modulo 4. Più in generale, se m divide n e una sequenza è ammissibile modulo m, allora è modulo automaticamente ammissibile n. Per verificare l'ammissibilità, è quindi sufficiente prendere in considerazione solo il numero primo se lo si desidera.
- Se a1, a2, ..., ak è una sequenza ammissibile, allora a1 + c, a2 + c, ..., ak + c è anche ammissibile per qualsiasi numero intero c (positivo o negativo).
Rilevanza matematica (lettura facoltativa)
Sia a1, a2, ..., ak una sequenza di numeri interi. Supponiamo che ci siano infiniti numeri interi n tali che n + a1, n + a2, ..., n + ak sono tutti primi. Quindi è facile dimostrare che a1, a2, ..., ak devono essere ammissibili. Supponiamo infatti che a1, a2, ..., ak non sia ammissibile e che m sia un numero tale che a1, a2, ..., ak non sia ammissibile modulo m. Quindi, qualunque cosa n scegliamo, uno dei numeri n + a1, n + a2, ..., n + ak deve essere un multiplo di m, quindi non può essere primo.
La congettura delle prime k-tuple è il contrario di questa affermazione, che è ancora un problema aperto nella teoria dei numeri: afferma che se a1, a2, ... ak è una sequenza ammissibile (o k-tupla ), allora c'è dovrebbe essere infinitamente numero intero n tale che n + a1, n + a2, ..., n + ak sono tutti primi. Ad esempio, la sequenza ammissibile 0, 2 fornisce l'affermazione secondo cui dovrebbero esserci infiniti numeri interi n tali che sia n che n + 2 siano primi, questa è la congettura di numeri primi gemelli (ancora non provata).
-60 0 60 120 180 240 300
interseca ogni classe di residui modulo 7, quindi non è ammissibile.
[_60:0:60:120:180]
mi sta dando vero; anzi non interseca almeno una classe in ognim
da2
a5
inclusiva; inoltre, interseca solo una classe in ognim
da2
a5
compreso.