2017-07-11 44 views
-1
def Factorial(n): 
    result = 1 
    for i in range(1,n): 
     result = result * (result+1) 
    print(result) 
Factorial(5) 

結果第一5號是:爲什麼這個階乘函數會給出錯誤的結果?

1 - > 1

2 - > 2

3 - > 6

4 - > 42

5 - > 1806

我的功能有什麼不正確?

+5

'結果=結果*(I + 1)' –

+0

@NickA我貼我的回答加載您的評論之前,我現在刪除了,對不起,如果它看起來像我偷走了你的想法! =) –

+1

@Vinicius不需要道歉,我會假設很多人很快就看到了問題 –

回答

1
def Factorial(n): 
    result = 1 
    for i in range(1,n): 
     result = result * (i+1) 
    print(result) 

更換

result = result * (result+1) 

result = result * (i + 1) 
相關問題