如果編號爲3!!
應導致6!
即720
。 此代碼適用於小整數,但對於大整數會引發錯誤Python int too large to convert to C long
。需要幫忙。由於如何在Python中找到大數的階乘鏈?
import math
n = raw_input()
a = n.count('!')
b= int(n.replace('!',''))
while(a!=0):
fact =1*math.factorial(b)
b = fact
a-=1
print fact
似乎'math.factorial'只能處理C整數。儘管如此,不應該太難實現自己的因子函數。 (但這可能是一個壞主意,因爲如果輸入數量已經很大,那麼這些計算可能會花費很長時間)。 –
你爲什麼要乘以1的階乘?您可以用範圍替換while循環。 – postelrich
試過了,比以前好多了。現在爲大整數引發運行時錯誤。我想,我應該與numpy一起去。 –