Definizione
Chiamiamo una sequenza intera (infinita) universale se contiene ogni sequenza intera finita come sottosequenza contigua.
In altre parole, la sequenza di numeri interi (a 1 , a 2 , ...) è universale se e solo se, per ogni sequenza di numeri interi finiti (b 1 , ..., b n ) , esiste un offset k tale che (a k + 1 ,…, A k + n ) = (b 1 ,…, b n ) .
La sequenza di numeri primi positivi, ad esempio, non è universale, tra l'altro per i seguenti motivi.
Non contiene numeri interi negativi, 1 o numeri compositi.
Sebbene contenga 3 , non contiene la sottosequenza contigua (3, 3, 3) .
Sebbene contenga 2 e 5 , non contiene la sottosequenza contigua (2, 5) .
Sebbene contenga la sottosequenza contigua (7, 11, 13) , non contiene la sottosequenza contigua (13, 11, 7) .
Compito
Scegli una singola sequenza intera universale (un 1 , un 2 , ...) e implementala in un linguaggio di programmazione a tua scelta, rispettando le seguenti regole.
È possibile inviare un programma completo o una funzione.
Sono disponibili tre opzioni per l'I / O:
Non accettare input e stampare o restituire l'intera sequenza.
Prendi un indice n come input e stampa o ritorna a n .
Prendi un indice n come input e stampa o ritorna (a 1 , ..., a n ) .
Per le opzioni I / O 2 e 3 , è possibile utilizzare l' indicizzazione basata su 0 se si preferisce.
L'invio deve essere deterministico: se eseguito più volte con lo stesso input, deve produrre lo stesso output.
Inoltre, a meno che non sia immediatamente ovvio, prova che la sequenza che hai scelto è universale. La tua prova potrebbe non dipendere da congetture non dimostrate.
Si applicano le regole standard del code-golf . Che vinca il codice più breve in byte!