Постулат Бертрана утверждает, что для каждого целого числа n ≥ 1 существует хотя бы одно простое число p такое, что n <p ≤ 2n . Чтобы проверить эту теорему для n <4000, нам не нужно проверять 4000 случаев: трюк Ландау говорит, что достаточно проверить, что
2, 3, 5, 7, 13, 23, 43, 83, 163, 317, 631, 1259, 2503, 5003
все простые. Поскольку каждое из этих чисел менее чем в два раза превосходит своего предшественника, каждый интервал {y: n <y ≤ 2n} содержит хотя бы одно из этих простых чисел.
Эта последовательность чисел - простые числа Бертрана (OEIS A006992), и они определены следующим образом:
a(1) = 2
a(n) = largest prime below 2a(n-1)
Вызов
Реализуйте эту последовательность. Вы можете написать
- функция или программа, для которых задано некоторое n, возвращает a (n) (0 или 1 проиндексировано),
- функция или программа, для которых задано некоторое n, возвращает первые n (или n-1 или n + 1 ) записей этой последовательности,
- бесконечный список или поток или генератор или аналогичный эквивалент в вашем языке.
Fx.ØØ
так близко ... Работает на все, что вышеn > 2
.