非小数黎曼零点的虚部


9

介绍

根据Riemann假说Riemann zeta函数的所有零都是负偶数(称为平凡零)或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,输出NRiemann zeta函数的第th个非平凡零的虚部,四舍五入到最接近的整数(四舍五入,所以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进入

这是OEIS序列A002410

Answers:


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非平凡的黎曼zeta零的虚部。取-1st索引将返回n第零(1索引),并将round其舍入到最接近的整数。在Python 3中,round使用banker的舍入(半到最接近的平均数),但值得庆幸的是,Sage在Python 2上运行,在Python 2中round使用上半舍入。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.