求圆周率Python
⑴ 求用python计算圆周率小数点后五万位的最快的方法,需要代码,谢谢
祖冲之(公元429-500年),字文远,范阳遒(今河北涞水)人,历任南徐州从事史、公府参军等职。他博学多才,在数学、天文历法方面造诣尤深。魏晋时期的数学家刘徽,求出了圆周率值约等于3.1416,这在当时世界上已是一个相当精确的数据。但祖冲之并不满足于前人的成就,他应用刘徽创立的割圆术,在刘徽的计算基础上继续推算,求出了精确到小数点后七位数字的圆周率。 祖冲之求出的圆周率,不足近似值是3.1415926,过剩近似值是3.1415927,用式子表示就是:3.1415926<圆周率<3.1415927。这样,圆周率的精确值就达到了小数点后七位。祖冲之的成果在世界上一直领先了1000年。到了公元15世纪和16世纪,阿拉伯数学家和法国数学家才求出更精确的数值满意望采纳
⑵ python模拟蒙特卡罗法计算圆周率的近似值
蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计问题。
假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x,y)必然在木板上(更多的时候是落在单位圆内),
如果扔的次数足够多,那么落在单位圆内的次数除以总次数再乘以4,这个数字会无限逼近圆周率的值。
这就是蒙特·卡罗发明的用于计算圆周率近似值的方法。
编写程序,模拟蒙特·卡罗计算圆周率近似值的方法,输入掷飞镖次数,然后输出圆周率近似值。
import random,math
s = 1 * 1
c = int(input())
hit = c
hits = 0
while hit != 0 :
hit = hit - 1
x = random.random()
y = random.random()
z = math.sqrt(x**2+y**2)
if z <= 1:
hits = hits + 1
PI = 4 * hits/c
print(PI)
这段程序主要运用通过计算落点的坐标与原点的距离来确定镖是否在中在圆内
当运行的次数足够大,也就会越来越逼近圆周率
另外再说一点就是python中的random()函数
random()函数的调用方法如下
import random
x = random.random()
返回的值在(0,1]之间
⑶ 求用python计算圆周率小数点后10万位的最快算法 ,最好有代码,谢谢
#-*-coding:gbk-*-
from__future__importdivision
####################导入时间模块
importtime
###############计算当前时间
time1=time.time()
################算法根据马青公式计算圆周率####################
number=int(raw_input('请输入想要计算到小数点后的位数n:'))
#多计算10位,防止尾数取舍的影响
number1=number+10
#算到小数点后number1位
b=10**number1
#求含4/5的首项
x1=b*4//5
#求含1/239的首项
x2=b//-239
#求第一大项
he=x1+x2
#设置下面循环的终点,即共计算n项
number*=2
#循环初值=3,末值2n,步长=2
foriinxrange(3,number,2):
#求每个含1/5的项及符号
x1//=-25
#求每个含1/239的项及符号
x2//=-57121
#求两项之和
x=(x1+x2)//i
#求总和
he+=x
#求出π
pai=he*4
#舍掉后十位
pai//=10**10
############输出圆周率π的值
paistring=str(pai)
result=paistring[0]+str('.')+paistring[1:len(paistring)]
printresult
time2=time.time()
printu'总共耗时:'+str(time2-time1)+'s'
python
pi.py
⑷ python使用while循环计算圆周率的代码
importrandom
m=n=0
i=0
whilei<1000000:
x=random.random()
y=random.random()
ifx*x+y*y<1:
m+=1
else:
n+=1
i+=1
print("PI约等于:%.20f"%(4*((m/1.0)/(m+n))))
使用随机数,根据圆周面积S=PI*r*r
当r=1时,面积就是PI值,在第一象限中的四分之一个半圆就是四分之一个PI值,按照这个思路,可以设计上面的代码,里面的i值(就是随机点数目)越大,得到的值越准确,看你电脑的运行速度了。
⑸ python计算圆周率程序怎么写
fromsysimportstdout
scale=10000
maxarr=2800
arrinit=2000
carry=0
arr=[arrinit]*(maxarr+1)
foriinxrange(maxarr,1,-14):
total=0
forjinxrange(i,0,-1):
total=(total*j)+(scale*arr[j])
arr[j]=total%((j*2)-1)
total=total/((j*2)-1)
stdout.write("%04d"%(carry+(total/scale)))
carry=total%scale
⑹ python求圆周率,if dist<=1.0与 if dist<=1,对结果有
从功能上看使用if dist<=1.0或 if dist<=1并没有区别,每次运行的结果都有一定差异的原因在于代码用的是随机数的方法求圆周率。
darts是1x1正方形内的所有点数,hits是落在半径1的1/4圆内的点数,二者之比近似为1/4Π
⑺ python用随机数计算圆周率PI 怎么做 韩国学校作业
蒙特卡罗法计算圆周率(就是往一个正方形里丢石子)。
from __future__ import division
import random
import time
for j in range(2, 8):
startT = time.clock()
counter = 0
for i in range(10 ** j):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
if x**2 + y**2 < 1:
counter = counter + 1
endT = time.clock()
print (4 * (counter / 10 ** j))
print (endT - startT)
print "*" * 10
计算结果3.12
0.000603650921827
**********
3.128
0.0035999800338
**********
3.1356
0.0214809227182
**********
3.14212
0.216073908518
**********
3.141856
2.14863667725
**********
3.1418724
21.6984940915
**********
⑻ python如何表示 圆周率
python表示圆周率的方法:
使用“import”语句导入math包。“math.pi”函数可以获取到圆周率,那么就可以用“math.pi”函数来表示圆周率
示例如下:
执行结果如下:
更多Python知识,请关注:Python自学网!!
⑼ 利用沃利斯公式计算圆周率。要求用Python语言写出相应的代码,并用Python中的for循环完成
摘要 python利用公式计算π的方法:首先导入数学模块及时间模块;然后计算Pi精确到小数点后几位数,代码为【print(' {:=^70}'.format('计算开始'))】;最后完成计算,代码为【print(' {:=^70}'】
⑽ 一道求圆周率的python题
print(sum(6/_**2 for _ in range(1,int(eval(input()))+1))**0.5)
输入100000,输出3.1415831043264366
输入1000000,输出3.141591698660415