Python中的階乘程序| Python程序找到一個數字的階乘

27049
Python的階乘
  1. 是什麼!
  2. 階乘的公式
  3. 10 !
  4. 5的階乘
  5. 階乘(0)
  6. python階乘程序
    1. 階乘程序在python中使用函數
    2. 階乘程序在python中使用for循環
    3. python中使用遞歸的階乘程序
  7. 計算階乘中的尾隨零

問題陳述:我們打算介紹階乘的基礎知識以及使用python計算數字的階乘。

的階乘是什麼?

簡單的單詞,如果你想找出一個正整數的階乘,不斷地將它與所有小於該數的正整數相乘。最後得到的結果是這個數的階乘。如果你想找出7的階乘,用7乘以所有小於7的正整數。這些數字是6 5 4 3 2 1。所有這些數乘以7,最後的結果是7的階乘。

如果您正在尋找Python階乘程序方麵的專業知識,可以考慮獲得認證。這Python階乘程序免費課程為你提供完整的專業指導,還有結業證書,這一定會讓你的簡曆脫穎而出。

公式!

一個數字的階乘用n表示!,是所有小於等於n的正整數的乘積:
n != n* (n - 1) *(2) *.....3 *2 *1

10 !

那麼10是多少呢?10與所有小於10的正整數相乘。
10 != 10 *9* 8 *7* 6 *5* 4 *3.* 2 * 1 = 3628800

5的階乘

找到5 !,重複同樣的過程。5與所有小於5的正整數相乘。這些數字是4 3 2 1
5 != 5 *4* 3 *2 *1 = 120

階乘(0)

因為0不是一個正整數,按照約定,0的階乘被定義為它本身。
0!= 1

python階乘程序
一個數的階乘

計算這個是一個有趣的問題。讓我們想想為什麼簡單的乘法對計算機來說是有問題的。這個問題的答案在於如何實現解決方案。

1 != 1
2 != 2
5 != 120
10 != 3628800
20 != 2432902008176640000
30 !e = 9.332621544394418 + 157

數值的指數增長表明階乘是一個指數函數,計算它所花費的時間將是指數級的。

Python階乘程序

我們將通過三種方法來計算階乘:

  • 使用數學模塊中的函數
  • 迭代方法(使用for循環)
  • 遞歸方法

階乘程序在python中使用的函數

這是用來計算一個數的階乘的最簡單的方法。這裏我們有一個名為math的模塊,它包含許多數學運算,可以使用該模塊輕鬆地執行這些運算。

import math num=int(input("輸入數字:"))print("factorial of ",num," (function): ",end=") print(math.factorial(num))

測試代碼

輸入—輸入號碼:4
輸出- 4的階乘(函數):24

階乘程序在python中使用for循環

def iter_factorial(n): factorial=1 n = input("輸入一個數字:")factorial=1 if int(n) >= 1: for i in range (1,int(n)+1): factorial= factorial * i return factorial num=int(input("輸入數字:"))print("factorial of ",num,"(迭代):",end=") print(iter_factorial(num))

測試代碼

輸入—輸入號碼:5
輸出- 5的階乘(迭代):120

考慮迭代程序。執行while循環需要很多時間。上麵的程序花了很多時間,我們說它是無限的。計算階乘的目的就是及時得到結果。因此,這種方法不適用於非常大的數字。

python中使用遞歸的階乘程序

函數使用遞歸返回一個數字的階乘""" if n == 1:返回n else:返回n*recur_factorial(n-1) num=int(input("輸入數字:"))print("factorial of ",num,"(遞歸):",end=") print(recur_factorial(num))

測試代碼

輸入—輸入—輸入號碼:4
輸出- 5的階乘(遞歸):24

在16GB RAM的計算機上,上麵的程序可以計算到2956的階乘值。除此之外,它會超過內存,因此失敗。與迭代方法相比,所花費的時間確實更少。但這是以占用空間為代價的。

解決上述問題的方法是什麼?
階乘計算問題具有高度的重複性結構。

為了計算階乘(4),我們計算f(3)一次,f(2)兩次,f(1)三次。隨著次數的增加,重複次數也會增加。因此,解決方案是計算一次該值,並將其存儲在一個數組中,以便在下次需要該值時訪問該值。因此,我們在這種情況下使用動態規劃。實現動態規劃的條件是

  1. 重疊子問題
  2. 最優子結構

考慮對上述代碼的修改如下:

def DPfact(N): arr={} if N in arr:返回arr[N] elif N == 0或N == 1:返回1 arr[N] = 1 else: factorial = N*DPfact(N - 1) arr[N] = factorial返回factorial num=int(input("Enter the number: ")) print("factorial of ",num," (dynamic): ",end=") print(DPfact(num))

測試代碼

輸入—輸入號碼:6
輸出- 6的階乘(動態):720

動態規劃解決方案在時間和空間複雜性方麵都具有很高的效率。

使用Python計算階乘中的尾隨零

問題陳述:使用Python計算一個數字的階乘中0的個數

num=int(input("Enter number: ")) #初始化結果count = 0 #保持n除以# 5的冪和# update count temp = 5 while (num / temp>= 1): count += int(num / temp) temp *= 5 #驅動程序打印("尾部零的數量",count)

輸出
輸入數字:5
尾隨零的個數1

學習如何找到如果字符串是回文

學習如何打印Python中的斐波那契數列.同時,在線學習人工智能在人工智能課程的幫助下。

常見問題

什麼是數學階乘?

一個數的階乘,在數學中,是小於或等於一個給定正數的所有正整數的乘積,用該數字和感歎號表示。因此,的階乘七寫成四!意思是1 × 2 × 3 × 4等於24。的階乘0被定義為等於1。實數和負數的階乘不存在。

階乘的公式是什麼?

要計算一個數字N的階乘,使用這個公式:

階乘=1 x 2 x 3 x…x N-1 x N

Python中有階乘函數嗎?

是的,我們可以在python中導入一個名為math的模塊,它包含了幾乎所有的數學函數。用函數計算階乘,代碼如下:

import math num=int(input("輸入數字:"))print("factorial of ",num," (function): ",end=") print(math.factorial(num))

覺得這個博客有趣嗎?在線學習人工智能在Great Learning的Pbeplay2018官网GP人工智能和機器學習課程的幫助下,提高技能!

10

留下一個回複

請輸入您的評論!
請在這裏輸入您的姓名

20−1 =