Scrivi un programma per determinare se una sequenza periodica di numeri interi positivi ha la proprietà che, per ogni numero intero n
presente nella sequenza, non ci sono mai più di n
altri numeri interi tra due occorrenze consecutive di n
.
Ad esempio, 2, 3, 5, 2, 3, 6, 2, 3, 5, 2, 3, 6, ...
ha questa proprietà: ogni coppia di occorrenze consecutive 2
ha al massimo due numeri interi tra loro (come 2, 3, 5, 2
e 2, 3, 6, 2
; ogni coppia di occorrenze consecutive 3
ha al massimo tre numeri interi tra loro; e la stessa per 5
e 6
.
Tuttavia, 2, 3, 5, 2, 3, 4, 2, 3, 5, 2, 3, 4, ...
non ha questa proprietà: due occorrenze consecutive di 4
, cioè 4, 2, 3, 5, 2, 3, 4
, hanno più di quattro numeri interi tra di loro.
Input : una rappresentazione ragionevole di una sequenza periodica di numeri interi positivi. Ad esempio, un elenco finito come {2, 3, 5, 2, 3, 6}
può rappresentare la prima sequenza infinita 2, 3, 5, 2, 3, 6, 2, 3, 5, 2, 3, 6, ...
sopra. (In tal caso, il problema potrebbe essere affermato per elenchi finiti che vanno in giro invece che per infiniti elenchi periodici.)
Output : un valore di verità / falsità.
Esempi sinceri:
{1}
{8, 9}
{2, 3, 4}
{5, 5, 3, 3, 6}
{2, 3, 5, 2, 3, 6}
{6, 7, 3, 5, 3, 7}
{9, 4, 6, 7, 4, 5}
{1, 1, 1, 1, 1, 100, 1}
{1, 9, 1, 8, 1, 7, 1, 11}
Esempi di falsi:
{1, 2, 3}
{2, 3, 9, 5}
{3, 5, 4, 4, 6}
{2, 3, 5, 2, 3, 4}
{3, 5, 7, 5, 9, 3, 7}
{5, 6, 7, 8, 9, 10, 11}
{1, 9, 1, 8, 1, 6, 1, 11}
Questo è codegolf , quindi vince il codice più corto. Le risposte in tutte le lingue sono incoraggiate.