Мнимые части нетривиальных нулей Римана


9

Введение

Согласно гипотезе Римана , все нули дзета-функции Римана являются либо отрицательными четными целыми числами (называемыми тривиальными нулями ), либо комплексными числами вида 1/2 ± i*tдля некоторого действительного tзначения (называемого нетривиальными нулями ). В этой задаче мы будем рассматривать только нетривиальные нули, мнимая часть которых положительна, и будем предполагать, что гипотеза Римана верна. Эти нетривиальные нули могут быть упорядочены по величине их мнимых частей. Первые несколько примерно 0.5 + 14.1347251i, 0.5 + 21.0220396i, 0.5 + 25.0108576i, 0.5 + 30.4248761i, 0.5 + 32.9350616i.

Соревнование

Получив целое число N, выведите мнимую часть Nнетривиального нуля дзета-функции Римана, округленную до ближайшего целого числа (округленную до половины, поэтому 13.5округлите до 14).

правила

  • Вход и выход будут в пределах представимого диапазона целых чисел для вашего языка.
  • Как указывалось ранее, для целей этой задачи гипотеза Римана считается верной.
  • Вы можете выбрать, будет ли вход с нулевой или одной индексацией.

Тестовые случаи

Следующие тестовые случаи с одним индексом.

1       14
2       21
3       25
4       30
5       33
6       38
7       41
8       43
9       48
10      50
50      143
100     237

OEIS Entry

Это последовательность OEIS A002410 .

Ответы:


5

Mathematica, 23 байта

⌊Im@ZetaZero@#+.5⌋&

К сожалению, Roundокругляет .5до ближайшего четного числа, поэтому мы должны реализовать округление путем добавления .5и настила.


1

PARI / GP , 25 байтов

В GP не так много поддержки для аналитической теории чисел (она в основном алгебраическая), но этого вполне достаточно для этой задачи.

n->lfunzeros(1,15*n)[n]\/1

1

Sage, 34 байта

lambda n:round(lcalc.zeros(n)[-1])

Попробуйте онлайн

Это решение является формой игры в гольф, которую можно найти на странице OEIS.

lcalc.zerosявляется функцией (которая, к счастью, пишется более коротким способом, а не zeroesдля дополнительного байта), которая возвращает мнимые части первых nнетривиальных дзета-нулей Римана. Взятие -1индекса st возвращает nноль th (индексированный 1) и roundокругляет его до ближайшего целого числа. В Python 3 roundиспользуется округление банкира (от половины до ближайшего четного), но, к счастью, Sage работает на Python 2, где roundиспользует округление до половины.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.