Il postulato di Bertrand afferma che per ogni numero intero n ≥ 1 esiste almeno un primo p tale che n <p ≤ 2n . Per verificare questo teorema per n <4000 non dobbiamo controllare 4000 casi: il trucco di Landau dice che è sufficiente verificare che
2, 3, 5, 7, 13, 23, 43, 83, 163, 317, 631, 1259, 2503, 5003
sono tutti primi. Poiché ciascuno di questi numeri è meno del doppio del suo predecessore, ogni intervallo {y: n <y ≤ 2n} contiene almeno uno di quei numeri primi.
Questa sequenza di numeri sono i Bertrand Primes (OEIS A006992) e sono definiti come segue:
a(1) = 2
a(n) = largest prime below 2a(n-1)
Sfida
Implementa questa sequenza. Puoi scrivere
- una funzione o un programma che ha dato alcuni n restituisce a (n) (0 o 1 indicizzato),
- una funzione o un programma che ha dato alcuni n restituisce le prime n (o n-1 o n + 1 ) voci di questa sequenza,
- un elenco infinito o stream o generatore o equivalente simile nella tua lingua.
Fx.ØØ
è così vicino ... Funziona per qualsiasi cosa sopran > 2
.