Я изо всех сил пытаюсь понять, как мы можем создать список J наименьших простых чисел в поливремени J, основываясь на том факте, что p'j меньше или равно 2j * ln(j)
для j > 2, где j указывает j-е последовательное простое число количество. Например, p1 = 2 для j = 1, p2 = 3 для j = 2, p3 = 5 для j = 3, p4 = 7 для j = 4, p5 = 11 для j = 5 и т. д. и т. д.
Я просто не понимаю, как я могу использовать этот факт выше. Каждый раз, когда я хочу сгенерировать простое число, скажем, 7-е, я проверяю, подставляя: 2(7)*ln(7) = 27,2427... Но, как выясняется, это совершенно бесполезно. Это число намного больше, чем последнее сгенерированное простое число в моем массиве, что логично. Следовательно, мне все еще приходится прибегать к грубой силе, проверяя последнее число +1 на наличие mod0 с каждым из чисел в моем массиве. Другой вариант — прибегнуть к уже существующим алгоритмам, сокращающим время до полиномиального.
Не могли бы вы показать мне, как я могу использовать этот факт: p'j ‹= 2j*ln(j)? Спасибо.
p_j < j*ln(j) + j*ln(ln(j))
меньше2j*ln(j)
. - person mostruash   schedule 23.11.2014p_(j-1) + 1
. Если бы вы могли использовать тот факт, чтоp_j > j*ln(j)
... - person mostruash   schedule 23.11.2014