7 15 計算圓周率

2022-03-01 07:33:07 字數 1140 閱讀 5586

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 ...