python怎么算阶乘_Python 计算阶乘的算法
希望你的堅持是因為熱愛,而不是不甘
by:緣分落地
階乘在高中的數(shù)學(xué)排列組合曾經(jīng)出現(xiàn)過,相信各位都不陌生。舉個栗子:
N!= N * (N-1) * (N-2)......1
帶入數(shù)字形象的看一遍,我們算5!的階乘
5! = 5 * 4 * 3 * 2 * 1 = 120
如何用Python實現(xiàn)呢?貌似python 沒有直接算階乘的函數(shù),所以我們只能自己構(gòu)造一個函數(shù),好了,上代碼
#coding = utf8
n = int(input("請輸入一個非負的數(shù)字")) # 負數(shù)不能算階乘
def factorial(n):
if n == 0:
return 1 # 0的階乘是1,這是規(guī)定,其實可以理解成為0個元素的排列方法只有一種
else:
return n * factorial(n - 1) # 這里其實很好理解,看下面的分析
if __name__ == '__main__':
factorial(n)
程序執(zhí)行的過程如下:
factorial(5) = 5 * factorial(4)
factorial(4) = 4 * factorial(3)
factorial(3) = 3 * factorial(2)
factorial(2) = 2 * factorial(1)
factorial(1) = 1 * factorial(0)
factorial(0) = 1
所以5!就變成了5 * 4 * 3 * 2 * 1 * factorial(0),最后定義factorial(0) = 1
,是不是很好理解。
如果還是不很理解的可以參考這里的鏈接
完
總結(jié)
以上是生活随笔為你收集整理的python怎么算阶乘_Python 计算阶乘的算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机的隐藏游戏怎么找回,文件夹隐藏了怎
- 下一篇: python在图片上绘制标注框