计算pi的位数

Posted luyingqian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算pi的位数相关的知识,希望对你有一定的参考价值。

from random import random
from math import sqrt
from time import clock
DARTS=1000000
hits=0.0
clock()
for i in range(1,DARTS+1):
    x,y=random(),random()
    dist=sqrt(x**2+y**2)
    if dist<=1.0:
        hits=hits+1
pi=4*(hits/DARTS)
print("pi值是{}.".format(pi))
print("运行的时间是:{:.5f}s".format (clock()))

技术图片

 

此为课本上的pi的解法

下为c的解法:

#include<stdio.h>
void main()
{
double pi=0.0,i=1.0,j=1.0;
for(;i<1000000;i+=2,j=-j)
pi+=1/(i*j);
pi=pi*4;
printf("pi=%lf",pi);
}

技术图片

 

以上是关于计算pi的位数的主要内容,如果未能解决你的问题,请参考以下文章

杭电1018阶乘位数

学习笔记:python3,代码片段(2017)

斯特林(Stirling)公式 求大数阶乘的位数

linux cpu内存IO网络的测试工具(转)

Matlab怎样设置数据的有效数字使得小数点后的位数更多?

阶乘有关模板