Wyimaginowane części nietrywialnych Riemann Zeroes


9

Wprowadzenie

Zgodnie z hipotezą Riemanna wszystkie zera funkcji zeta Riemanna są albo ujemnymi parzystymi liczbami całkowitymi (zwanymi trywialnymi zerami ), albo liczbami zespolonymi postaci 1/2 ± i*tdla pewnej twartości rzeczywistej (zwanej nietrywialnymi zerami ). W przypadku tego wyzwania rozważymy tylko nietrywialne zera, których część urojona jest dodatnia, i założymy, że hipoteza Riemanna jest prawdziwa. Te nietrywialne zera można uporządkować według wielkości ich urojonych części. Kilka pierwszych jest w przybliżeniu 0.5 + 14.1347251i, 0.5 + 21.0220396i, 0.5 + 25.0108576i, 0.5 + 30.4248761i, 0.5 + 32.9350616i.

Wyzwanie

Biorąc pod uwagę liczbę całkowitą N, wyślij wyimaginowaną część Nth nietrywialnego zera funkcji zeta Riemanna, zaokrągloną do najbliższej liczby całkowitej (zaokrągloną do połowy, więc 13.5zaokrągliby do 14).

Zasady

  • Dane wejściowe i wyjściowe będą w reprezentatywnym zakresie liczb całkowitych dla twojego języka.
  • Jak już wspomniano, dla celów tego wyzwania przyjmuje się, że hipoteza Riemanna jest prawdziwa.
  • Możesz wybrać, czy dane wejściowe mają być indeksowane od zera, czy indeksowane jedną.

Przypadki testowe

Następujące przypadki testowe mają jeden indeks.

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

Wpis OEIS

Jest to sekwencja OEIS A002410 .

Odpowiedzi:


5

Mathematica, 23 bajty

⌊Im@ZetaZero@#+.5⌋&

Niestety Roundzaokrągla .5się do najbliższej liczby parzystej, więc musimy zaokrąglać, dodając .5i układając podłogi.


1

PARI / GP , 25 bajtów

GP nie ma dużego wsparcia dla teorii liczb analitycznych (jest to głównie algebraiczna), ale wystarczy na to wyzwanie.

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

1

Szałwia, 34 bajty

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

Wypróbuj online

To rozwiązanie to golfowa forma programu znaleziona na stronie OEIS.

lcalc.zerosto funkcja (która na szczęście jest pisana w skrócie, zamiast zeroesdodatkowego bajtu), która zwraca wyimaginowane części pierwszych nnietrywialnych zer Zeta Riemanna. Biorąc -1indeks st zwraca nth zero (1-indeksowane) i roundzaokrągla go do najbliższej liczby całkowitej. W Pythonie 3 roundwykorzystuje zaokrąglanie bankiera (od połowy do najbliższego parzystego), ale na szczęście Sage działa na Pythonie 2, gdzie roundwykorzystuje zaokrąglanie zaokrąglające w górę.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.