所以我有這個數學公式有兩個輸入(兩個數字,你必須插入正整數)。術語的名稱是「對角線」和「術語(n)」。方程是Python中的數學公式
(n(n+1)(n+2)...(n+ (diagonal-2)))/ (diagonal-1)!
所以基本上你插入兩個數字(對角線和術語),它應該吐出一個數字。所以,我在python寫了一個程序,但它總是返回0
import math
diagonal = input("What diagonal do you want to see?")
term = input("What term do you want to see?")
product= term
for i in range (term + (diagonal - 2)):
product = ((product * (i+1))/(math.factorial(diagonal - 1)))
print(product)
爲了測試這個,當你在4號插上的術語和對角線都應該得到20
編輯:我試過了不同的方法發佈,現在它回到80級的時候4,4插上。 進口數學
diagonal = input("What diagonal do you want to see?")
term = input("What term do you want to see?")
product= float(term)
for i in range (term, term + (diagonal - 2)+1):
product = (product * (i))
product /= math.factorial(diagonal - 1)
print product
'範圍(術語+(對角線-2))看起來不正確。它應該是範圍(術語,術語+(對角線-2)+ 1)'(並且使用'i'而不是'i + 1') – njzk2
如果可以,您的公式看起來像是(n + d-2) ! /((d-1)!*(n-1)!)'。 – njzk2
我厭倦了njzk2方法,它仍然返回錯誤的答案 –