Parties imaginaires de zéros de Riemann non triviaux

9

introduction

Selon l' hypothèse de Riemann , tous les zéros de la fonction zêta de Riemann sont soit des entiers pairs négatifs (appelés zéros triviaux ) soit des nombres complexes de la forme 1/2 ± i*tpour une tvaleur réelle (appelés zéros non triviaux ). Pour ce défi, nous ne considérerons que les zéros non triviaux dont la partie imaginaire est positive, et nous supposerons que l'hypothèse de Riemann est vraie. Ces zéros non triviaux peuvent être ordonnés par l'ampleur de leurs parties imaginaires. Les premiers sont approximativement 0.5 + 14.1347251i, 0.5 + 21.0220396i, 0.5 + 25.0108576i, 0.5 + 30.4248761i, 0.5 + 32.9350616i.

Le défi

Étant donné un entier N, affichez la partie imaginaire du Ne zéro non trivial de la fonction zêta de Riemann, arrondie à l'entier le plus proche (arrondi à la moitié, donc 13.5arrondi à 14).

Règles

  • L'entrée et la sortie seront dans la plage représentative d'entiers pour votre langue.
  • Comme indiqué précédemment, aux fins de ce défi, l'hypothèse de Riemann est supposée être vraie.
  • Vous pouvez choisir si l'entrée est indexée zéro ou un indexée.

Cas de test

Les cas de test suivants sont indexés un.

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

Entrée OEIS

Il s'agit de la séquence OEIS A002410 .

Mego
la source

Réponses:

5

Mathematica, 23 octets

⌊Im@ZetaZero@#+.5⌋&

Malheureusement, Roundarrondit .5au nombre pair le plus proche, nous devons donc appliquer l'arrondi en ajoutant .5et en parquetant.

Martin Ender
la source
1

PARI / GP , 25 octets

Il n'y a pas beaucoup de support en GP pour la théorie analytique des nombres (c'est principalement algébrique), mais juste assez pour ce défi.

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

Sauge, 34 octets

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

Essayez-le en ligne

Cette solution est une forme jouée du programme trouvé sur la page OEIS.

lcalc.zerosest une fonction (qui est heureusement orthographiée de la manière la plus courte, plutôt que zeroespour un octet supplémentaire) qui renvoie les parties imaginaires des premiers nzéros non négligeables de Riemann zeta. La prise de l' -1indice st renvoie le ne zéro (indexé 1) et l' roundarrondit à l'entier le plus proche. Dans Python 3, roundutilise l'arrondi bancaire (de la moitié au plus proche), mais heureusement, Sage fonctionne sur Python 2, où il roundutilise l'arrondi demi-montant.

Mego
la source