|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import time
from math import *
from decimal import *
getcontext().prec=10
def ft(value):
value=int(value)
if value==0 or value==1:
return 1
total=1
for i in range(1,value+1):
total*=i
return total
def rj(frequency):
getcontext().prec=frequency*8+2
k=0
k=Decimal(k)
result=0
num1=2*(Decimal(2)**Decimal(0.5))/9801
while k!=Decimal(frequency):
num2=Decimal(ft(4*k))*(Decimal(1103)+Decimal(26390)*k)
num3=Decimal((ft(k)))**Decimal(4)*(Decimal(396)**(Decimal(4)*k))
num4=num2/num3
result+=num4
k+=Decimal(1)
ending=Decimal(1)/(Decimal(result)*num1)
return ending
def improvement(frequency):
t1=time.time()
getcontext().prec=frequency*15+2
q=str(time.time()-t1)
print(q)
time.sleep(0.5)
k=0
k=Decimal(k)
result=0
t2=time.time()
kf=Decimal(10005)**Decimal(0.5)
w=str(time.time()-t2)
print(w)
time.sleep(0.5)
t3=time.time()
num1=Decimal(426880)*kf
e=str(time.time()-t3)
print(e)
time.sleep(0.2)
t=time.time()
while k!=Decimal(frequency):
lt=time.time()
num2=Decimal(ft(6*k))*(Decimal(13591409)+Decimal(545140134)*k)
num3=Decimal(ft(3*k))*Decimal(ft(k)**3)*(Decimal(-640320)**(3*k))
result+=num2/num3
print('次数:'+str(k+1)+'位数:'+str((k+1)*15))
k+=1
ending=num1/Decimal(result)
return ending
x=input('1:限定位数,2:自动增加')
if x=='1':
c=input('1, 2')
if c !='1' and c !='2':
c='3'
while True:
print('-'*80)
if c=='1':
print('1')
elif c=='2':
print('2')
else:
print('3')
d=int(input('小数点后几位'))
while True:
if d>5:
break
elif d<=0:
print('??')
elif d<=5:
print('这都不会?')
d=int(input('重写!'))
result=0
old_time=time.time()
if c=='1' or c=='3':
result=rj(floor(d/8))
print('1ended:'+str(result))
print('1time:'+str(time.time()-old_time)+'\n')
old_time=time.time()
if c=='2' or c=='3':
result=improvement(floor(d/15))
print('2end:'+str(result))
print('2time:'+str(time.time()-old_time)+'\n')
|
评分
-
参与人数 1 | 荣誉 +5 |
鱼币 +5 |
贡献 +3 |
收起
理由
|
陶远航
| + 5 |
+ 5 |
+ 3 |
鱼C有你更精彩^_^ |
查看全部评分
|