• ベストアンサー

複素関数の問題

こちらの問題お願いします!! 答えだけでも大丈夫です!!

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8471/18135)
回答No.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)
回答No.1

※すでに他サイトにて投稿し終えています。再度このように出すということは、さらに何が必要なのですか? 内容は”手計算”では無理で電脳に頼らざるを得ません。 以下に同じ内容をUPします。 ーーーーーーーーーーー n=0~4 として簡単なプログラムを作り計算してみました。(UBASIC) a[4]=0.84721308479397908660700034647399406152235711033285410800313654 b[4]=0.84721308479397908660599790049038921144053485858626130046141392 P[4]=3.14159265358979323846264338327950288419711467828364892155661676 --------------- これは pi を求めるアルゴリズムの1つです。P[4]は小数点以下40けたまで真値と一致。

関連するQ&A