私はWallis製品をコーディングするように求められましたが、実際には複雑ではないと思われました。だから私はコードを作ったが、明らかに、それはWallis(1)
のためだけに働くことができ、残りはできませんでした。誰か助けてくれますか?ありがとうございました!WallisのPythonコードで何が問題になっていますか?
def Wallis (n):
result = 1
for count in range(2, n+2, 2):
result = result * (count**2/((count-1)*(count+1)))
return result
ウォリスの公式を計算する式
(2*2)/(3*5) * (4*4)/(5*7) * (6*6)/(7*9) and so on until ((n*2) ** 2)/ ((n-1)* (n+1))
出力
Wallis(1) = (2*2)/(3*5) = 0.267
Wallis(2) = Wallis(1) * (4*4)/(5*7) = 0.122
申し訳ありませんが、私は本当に知りません。 (n * 2)*(3 * 5)*(4 * 4)/(5 * 7)*(6 * 6)/ * 2)/((n-1)*(n + 1)) –
私はこのウェブサイトを少し新しくしています。 –
'range(2、2 * n + 2、2)'でなければなりません。ところで、 'count * count'は' count ** 2'より速いです。 FWIW、私は '2 * Wallis(1000000)== 3.141591868192167'を得る –