没有功能阻塞的阶乘问题

时间:2018-09-22 00:58:35

标签: python

所以我有一个问题要找出25的阶乘!并且不允许使用math.facorial函数。

到目前为止,我做到了

}} input()

}}}} 25

我想知道无论如何我可以操纵它来给我阶乘。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

这里没有数学模块:

>>> fact = 1
>>> for i in range(1, 26):
...     fact *= i
>>> fact
15511210043330985984000000

以及数学模块:

>>> print(math.factorial(25))
15511210043330985984000000

事实* =我与同一事实=事实*我

答案 1 :(得分:0)

您可以创建一个递归函数(它在函数内调用自身)并以25作为输入来调用该函数。 您可以使用逻辑作为其定义: n!是所有小于或等于n的正整数的乘积。

25! = 25 x 24!

24! = 24 x 23!

23! = 22 x 21!

...

...

2! = 2 x 1!

1! = 1 x 0!

0! = 1(根据定义,0!是1)

def myFactorialFunc(n):
  if n == 0:  #remember the definition 0! = 1
     return 1
  else:
     return n * myFactorialFunc(n-1)


result = myFactorialFunc(25)
print(result)