代码之家  ›  专栏  ›  技术社区  ›  Işık Kaplan

为什么这个阶乘函数给出了错误的结果?[已关闭]

  •  -1
  • Işık Kaplan  · 技术社区  · 9 年前
    def Factorial(n):
       result = 1
       for i in range(1,n):
            result = result * (result+1)
       print(result)
    Factorial(5)
    

    前5个数字的结果为:

    2->2.

    3->6.

    4->42

    5->1806

    我的函数中有什么不正确?

    1 回复  |  直到 9 年前
        1
  •  1
  •   rma    9 年前
    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)