Postulat Bertranda stwierdza, że dla każdej liczby całkowitej n ≥ 1 istnieje co najmniej jedna liczba pierwsza p, tak że n <p ≤ 2n . Aby zweryfikować to twierdzenie dla n <4000 , nie musimy sprawdzać 4000 przypadków: sztuczka Landaua mówi, że wystarczy sprawdzić, czy
2, 3, 5, 7, 13, 23, 43, 83, 163, 317, 631, 1259, 2503, 5003
wszystkie są najważniejsze. Ponieważ każda z tych liczb jest mniejsza niż dwukrotność swojego poprzednika, każdy przedział {y: n <y ≤ 2n} zawiera co najmniej jedną z tych liczb pierwszych.
Ta sekwencja liczb to liczby pierwsze Bertranda (OEIS A006992) i są one zdefiniowane w następujący sposób:
a(1) = 2
a(n) = largest prime below 2a(n-1)
Wyzwanie
Zaimplementuj tę sekwencję. Możesz pisać
- funkcja lub program, który podał jakieś n, zwraca a (n) (indeksowane 0 lub 1),
- funkcja lub program, który podał jakieś n, zwraca pierwsze n (lub n-1 lub n + 1 ) wpisów tej sekwencji,
- nieskończona lista lub strumień, generator lub podobny odpowiednik w twoim języku.
Fx.ØØ
jest tak blisko ... Działa na wszystko powyżejn > 2
.