Imaginärteile nicht-trivialer Riemann-Nullen

9

Einführung

Gemäß der Riemann-Hypothese sind alle Nullen der Riemann-Zeta-Funktion entweder negative gerade ganze Zahlen (als triviale Nullen bezeichnet ) oder komplexe Zahlen der Form 1/2 ± i*tfür einen reellen tWert (als nicht triviale Nullen bezeichnet ). Für diese Herausforderung werden wir nur die nicht trivialen Nullen betrachten, deren Imaginärteil positiv ist, und wir werden annehmen, dass die Riemann-Hypothese wahr ist. Diese nicht trivialen Nullen können nach der Größe ihrer Imaginärteile geordnet werden. Die ersten paar sind ungefähr 0.5 + 14.1347251i, 0.5 + 21.0220396i, 0.5 + 25.0108576i, 0.5 + 30.4248761i, 0.5 + 32.9350616i.

Die Herausforderung

Geben Sie bei einer gegebenen Ganzzahl Nden Imaginärteil der Nnicht trivialen Null der Riemannschen Zeta-Funktion aus, auf die nächste ganze Zahl gerundet (halbiert, also 13.5auf gerundet 14).

Regeln

  • Die Eingabe und Ausgabe liegt innerhalb des darstellbaren Bereichs von Ganzzahlen für Ihre Sprache.
  • Wie bereits erwähnt, wird für die Zwecke dieser Herausforderung angenommen, dass die Riemann-Hypothese wahr ist.
  • Sie können wählen, ob die Eingabe nullindiziert oder einindiziert ist.

Testfälle

Die folgenden Testfälle sind einmal indiziert.

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-Eintrag

Dies ist die OEIS-Sequenz A002410 .

Mego
quelle

Antworten:

5

Mathematica, 23 Bytes

⌊Im@ZetaZero@#+.5⌋&

Leider RoundRunden .5auf die nächste gerade Zahl, so müssen wir durch Zugabe von Rundungs implementieren .5und Fußböden.

Martin Ender
quelle
1

PARI / GP , 25 Bytes

In GP gibt es nicht viel Unterstützung für die analytische Zahlentheorie (meistens algebraisch), aber gerade genug für diese Herausforderung.

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

Salbei, 34 Bytes

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

Probieren Sie es online aus

Diese Lösung ist eine Golfform des Programms auf der OEIS-Seite.

lcalc.zerosist eine Funktion (die dankenswerterweise kürzer geschrieben wird als zeroesfür ein zusätzliches Byte), die die Imaginärteile der ersten nnicht trivialen Riemannschen Zeta-Nullen zurückgibt . Wenn Sie den -1st-Index nehmen, wird die nth-Null (1-indiziert) zurückgegeben und roundauf die nächste Ganzzahl gerundet. In Python 3 wird rounddie Banker-Rundung verwendet (halb bis zum nächsten geraden Wert), aber zum Glück läuft Sage auf Python 2, wo rounddie halbe Rundung verwendet wird.

Mego
quelle