首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非平凡Riemann Zeroes的虚部

非平凡Riemann Zeroes的虚部
EN

Code Golf用户
提问于 2017-02-20 11:51:42
回答 3查看 314关注 0票数 9

Introduction

根据黎曼假说Riemann zeta函数的所有零要么是负偶数整数(称为平凡零),要么是实t值(称为非平凡零)的形式1/2 ± i*t的复数。对于这个挑战,我们将只考虑虚部为正的非平凡零点,并且假设Riemann假设为真。这些非平凡的零可以根据其虚部的大小来排序。前几个大约是0.5 + 14.1347251i, 0.5 + 21.0220396i, 0.5 + 25.0108576i, 0.5 + 30.4248761i, 0.5 + 32.9350616i

挑战

给定一个整数N,输出黎曼zeta函数的Nth非平凡零的虚部,四舍五入到最近的整数(四舍五入,因此13.5将舍入到14)。

规则

  • 输入和输出将在您的语言可表示的整数范围内。
  • 如前所述,为了这一挑战的目的,Riemann假设是正确的。
  • 您可以选择输入是零索引还是一个索引。

测试用例

以下测试用例是一个索引的。

代码语言:javascript
复制
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

EN

回答 3

Code Golf用户

发布于 2017-02-20 12:51:23

Mathematica,23字节

代码语言:javascript
复制
⌊Im@ZetaZero@#+.5⌋&

不幸的是,Round.5循环到最接近的偶数,因此我们必须通过添加.5和地板来实现舍入。

票数 5
EN

Code Golf用户

发布于 2017-02-21 16:15:01

帕里/GP,25字节

在GP中,对解析数论(主要是代数理论)的支持不多,但足以应付这一挑战。

代码语言:javascript
复制
n->lfunzeros(1,15*n)[n]\/1
票数 1
EN

Code Golf用户

发布于 2017-03-07 18:32:50

Sage,34字节

代码语言:javascript
复制
lambda n:round(lcalc.zeros(n)[-1])

在网上试试

此解决方案是在OEIS页面上找到的程序的黄金形式。

lcalc.zeros是一个函数(值得庆幸的是,它用更短的方式拼写,而不是对一个额外字节的zeroes ),它返回第一个n非平凡Riemann零的虚部。接受-1st索引将返回nth 0(1-索引),round将其舍入到最近的整数。在Python3中,round使用银行家的四舍五入(半到最近-偶数),但谢天谢地,Sage运行在Python2上,其中round使用一半舍入。

票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/110626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档