- ベストアンサー
複素関数の問題
こちらの問題お願いします!! 答えだけでも大丈夫です!!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
私が計算すると P[4]=3.14159265358979323846264338327950288419711467828364892155661676 ではなくて P[4]=3.14159265358979323846264338327950288419711467828364892155661710 になるんですが,どこが違っているんでしょう? from decimal import * getcontext().prec = 80 pp=Decimal('3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280') a=Decimal('1') b=Decimal('1')/Decimal('2').sqrt() t=Decimal('0.25') p=Decimal('1') print('p0=',Decimal('0.25')*(a+b)*(a+b)/t) for i in range(5): aold=a a=Decimal('0.5')*(a+b) b=(aold*b).sqrt() t=t-p*(aold-a)*(aold-a) p=Decimal('2')*p print('p%d='%i,Decimal('0.25')*(a+b)*(a+b)/t) 結果 p0= 2.914213562373095048801688724209698078569671875376948073176679737990732478462107 p0= 3.1405792505221682483113312689758233117734402375129483356434866933455827580349029 p1= 3.1415926462135422821493444319826957743144372233456027945595394848214347672207954 p2= 3.1415926535897932382795127748018639743812255048354469357873307020263821378389275 p3= 3.1415926535897932384626433832795028841971146782836489215566171069760267645006430 p4= 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089
その他の回答 (1)
- gamma1854
- ベストアンサー率52% (307/582)
※すでに他サイトにて投稿し終えています。再度このように出すということは、さらに何が必要なのですか? 内容は”手計算”では無理で電脳に頼らざるを得ません。 以下に同じ内容をUPします。 ーーーーーーーーーーー n=0~4 として簡単なプログラムを作り計算してみました。(UBASIC) a[4]=0.84721308479397908660700034647399406152235711033285410800313654 b[4]=0.84721308479397908660599790049038921144053485858626130046141392 P[4]=3.14159265358979323846264338327950288419711467828364892155661676 --------------- これは pi を求めるアルゴリズムの1つです。P[4]は小数点以下40けたまで真値と一致。