7-15 計算圓周率(15 分)
根據下面關係式,求圓周率的值,直到最後一項的值小於給定閾值。
π/2 = 1 + 1/3 + 2!/3*5 + 3!/3*5*7 + ⋯ + n!/(3*5*7*⋯(2*n+1)) + ⋯
輸入格式:
輸入在一行中給出小於1的閾值。
輸出格式:
在一行中輸出滿足閾值條件的近似圓周率,輸出到小數點後6位。
輸入樣例:
0.01
輸出樣例:
3.132157
題解1:
def
zi(x):
i=1sum=1
while i<=x:
sum *= i
i+=1
return sum
defmu
(n):
m=1while n > 1:
m *= n
n -= 2
return m
defmain
(): fa = float(input())
ans = 1
x = 1
tmp = 1
#這裡有點坑,如果這裡tmp=fenzi/fenmu答案就錯誤了,
#應該是少判斷了一項吧
while tmp >= fa:
fenzi = zi(x)
fenmu = mu(x*2+1)
tmp = fenzi/fenmu
ans += tmp
x += 1
ans=ans*2
print("%.6f"%ans)
main()
題解2:
zi,tmp1,tmp2,mu,sum,sum1=1,1,3,3,1,1
fa = float(input())
while sum1 > fa:
sum1 = zi / mu
sum = sum1 + sum
tmp1+=1
tmp2 = tmp2 + 2
zi = zi*tmp1
mu = mu * tmp2
ans = sum*2
print("%.6f"%ans)
7 15 計算圓周率
7 15 計算圓周率 15 分 根據下面關係式,求圓周率的值,直到最後一項的值小於給定閾值。2 1 1 3 2 3 5 3 3 5 7 n 3 5 7 2 n 1 輸入格式 輸入在一行中給出小於1的閾值。輸出格式 在一行中輸出滿足閾值條件的近似圓周率,輸出到小數點後6位。輸入樣例 0.01 輸出樣例...
7 15 計算圓周率
學到翁愷老師 c語言程式設計 第八周了,來pta做點習題練習 題目是 用圓周率的關係式,求圓周率的值,直到最後一項的值小於給定閾值。2 1 3 1 3 5 2 3 5 7 3 3 5 7 2n 1 n 輸入格式 輸入在一行中給出小於1的閾值。輸出格式 在一行中輸出滿足閾值條件的近似圓周率,輸出到小數...
7 15 計算圓周率 15point s c
根據下面關係式,求圓周率的值,直到最後一項的值小於給定閾值。2 1 3 1 3 5 2 3 5 7 3 3 5 7 2n 1 n 輸入格式 輸入在一行中給出小於1的閾值。輸出格式 在一行中輸出滿足閾值條件的近似圓周率,輸出到小數點後6位。輸入樣例 0.01 輸出樣例 3.132157 note 1 ...