关于用 c++ 实现黎曼zeta函数的计算

Posted 石头爱学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于用 c++ 实现黎曼zeta函数的计算相关的知识,希望对你有一定的参考价值。

           北京市海淀区玉泉小学


黎曼zeta函数(ζ(s))最早出现于1350年左右,当时的尼克尔·奥里斯姆发现了调和级数发散。之后的一次进展来自莱昂哈德·欧拉,他给出了调和级数呈对数发散。将欧拉所做的一切牢牢地置于坚石之上的是黎曼,他在1859年的论文论小于给定数值的素数个数以及未发表的手稿中做出了多项进展。


黎曼zeta函数(ζ(s))指的是:

 

本人使用 c++ 实现了此函数的计算,以下为代码。

#include <cstdio>using namespace std; int main(){       printf("这个程序可以算黎曼函数zeta,ζ(),此程序运行有效范围为>1,精确到小数点后15位\n");       printf("ζ\n(\n");       double n;       double a;       scanf("%lf",&a);       printf(")\n");       double cnt = 0;       for (int i = 1; i <= 1000000; i++)       {              n = 1;              for (int j = 1; j <= a; j++)              {                     n = n * i;              }              cnt += 1 / n;       }       printf("%.15f",cnt);       return 0;}


这段代码可以计算黎曼zeta函数(ζ(s)),输入>1时输出结果有效输入太大程序会卡)。该段代码简洁清晰,计算结果精确到小数点后15位。


©版权所有 严若愚 ©rights all reserved


以上是关于关于用 c++ 实现黎曼zeta函数的计算的主要内容,如果未能解决你的问题,请参考以下文章

根号1+根号2+根号3+……+根号n=?

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

学术-数学:黎曼猜想

R中比例的假设

新手用C++写了个泛型堆,效率竟比STL的更快?

关于C++默认拷贝构造函数