寫一個 Python 程序,使用 While 循環、For 循環和階乘函數查找強數,並給出一個例子。
Python 程序使用 While 循環查找強數
這個 python 程序用於一個強數,允許用戶輸入任意正整數。接下來,Python 使用 While 循環檢查給定的數字是否是強數。
# Python Program to find Strong Number
Number = int(input(" Please Enter any Number: "))
Sum = 0
Temp = Number
while(Temp > 0):
Factorial = 1
i = 1
Reminder = Temp % 10
while(i <= Reminder):
Factorial = Factorial * i
i = i + 1
print("\n Factorial of %d = %d" %(Reminder, Factorial))
Sum = Sum + Factorial
Temp = Temp // 10
print("\n Sum of Factorials of a Given Number %d = %d" %(Number, Sum))
if (Sum == Number):
print(" %d is a Strong Number" %Number)
else:
print(" %d is not a Strong Number" %Number)
在這個 Python 強數示例中,首先,我們將原始值賦給 Temp 變數。它幫助我們保持我們的原始價值。
第一個 While Loop 確保給定的數字大於 0。while 循環中的語句拆分數字,並找出給定數字中各個數字的階乘。請參考 Python 數數文章了解邏輯。
第二個 While 循環(嵌套循環)查找每個數字的階乘。建議大家參考 Python 查找一個數的階乘文章,了解階乘背後的邏輯。
用戶為此 Python 程序輸入的值,以查找強數:數字= 145,總和= 0
因數 1 = 1,i = 1
溫度=數字
溫度= 145
Python 程序在循環時首先查找強名稱–第一次迭代
提醒= Temp % 10
提醒= 145 % 10 = 5
現在,它進入 Python 內部或嵌套 While 循環。這裡,它計算 5 = 120 的階乘。
總和=總和+120 => 0 + 120
總和= 120
溫度=溫度//10 => 145 //10
溫度= 14
第二次迭代
溫度= 14,總和= 120
提醒= 14 % 10 = 4
現在,它進入內部 While 循環。這裡,它計算 4 = 24 的階乘。
總和= 120 + 24
總和= 144
Temp = 14/10
Temp = 1
第三次迭代
溫度= 1,總和= 144
提醒= 1 % 10 = 0
這裡,1 的階乘是 1
和= 144 + 1
和= 145
Temp = 1/10
Temp = 0
這裡 Temp = 0,所以 while 循環條件失敗。
if(Number = = Sum)–條件檢查用戶輸入的數字是否完全等於 Sum。如果這個條件為真,那麼它就是強數,否則它不是強數。
使用 For 循環查找強數的 Python 程序
這個針對 Python 強數的程序同上。在這個 python 程序中,我們將 While 循環替換為 For 循環。
Number = int(input(" Please Enter any Number: "))
Sum = 0
Temp = Number
while(Temp > 0):
Factorial = 1
Reminder = Temp % 10
for i in range(1, Reminder + 1):
Factorial = Factorial * i
print("Factorial of %d = %d" %(Reminder, Factorial))
Sum = Sum + Factorial
Temp = Temp // 10
print("\n Sum of Factorials of a Given Number %d = %d" %(Number, Sum))
if (Sum == Number):
print(" %d is a Strong Number" %Number)
else:
print(" %d is not a Strong Number" %Number)
Please Enter any Number: 40585
Factorial of 5 = 120
Factorial of 8 = 40320
Factorial of 5 = 120
Factorial of 0 = 1
Factorial of 4 = 24
Sum of Factorials of a Given Number 40585 = 40585
40585 is a Strong Number
用階乘函數求強數的 Python 程序
這個 Python 強數程序和第一個例子一樣。然而,我們正在使用一個名為階乘的內置數學函數來尋找階乘。這種方法消除了嵌套 while 循環。
import math
Number = int(input(" Please Enter any Number: "))
Sum = 0
Temp = Number
while(Temp > 0):
Reminder = Temp % 10
Factorial = math.factorial(Reminder)
print("Factorial of %d = %d" %(Reminder, Factorial))
Sum = Sum + Factorial
Temp = Temp // 10
print("\n Sum of Factorials of a Given Number %d = %d" %(Number, Sum))
if (Sum == Number):
print(" %d is a Strong Number" %Number)
else:
print(" %d is not a Strong Number" %Number)
使用階乘輸出的 Python 強數。
Please Enter any Number: 145
Factorial of 5 = 120
Factorial of 4 = 24
Factorial of 1 = 1
Sum of Factorials of a Given Number 145 = 145
145 is a Strong Number
原創文章,作者:GZ4UK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128733.html