利用Python來實現阿姆斯特朗數的檢查例項

2022-09-26 00:06:14 字數 2012 閱讀 1951

如果乙個正整數等於其各個數字的立方和,則稱該數為阿姆斯特朗數(亦稱為自戀性數)。

乙個正整數稱為阿姆斯特朗階數。

例:abcd... = an + bn + cn + dn + ...

如果是3位的阿姆斯特朗數字,則每個數字的立方和等於該數字本身。

例如:153 = 1*1*1 + 5*5*5 + 3*3*3 // 153是乙個阿姆斯特朗數。

1. 檢查阿姆斯特朗數(3位數字)

例 :# 檢查該數字是否為阿姆斯壯數字的python程式

# 接受使用者的輸入

num = int(input("輸入乙個數字: "))

# 初始化sum

sum = 0

# 求出每個數字的立方和

te程式設計客棧mp = num

while temp > 0:

digit = temp % 10

sum += digit ** 3

temp //= 10

# 顯示結果

if num == sum:

print(num,程式設計客棧"是阿姆斯特朗數")

else:

print(num,"不是阿姆斯www.cppcns.com特朗數")

輸出1輸出2

**解析:

要求使用者輸入乙個數字,然後檢查它是否是乙個阿姆斯特朗數字,需要計算每個數字的立方和。

因此,將總和初始化為0,並使用**模運算子(%)**獲得每個數字。將數字除以10所得的餘數是該數字的最後一位。使用指數運算子獲取多維資料集。

最後,將總和與原始數字進行比較,得出結論,如果相等,則是阿姆斯特朗數。

2. 檢查是阿姆斯特朗的n位數字

例:num = 1634

# 將num變數更改為string

# 並計算出長度(位數)

order = len(str(num))

# 初始化 sum

sum = 0

# 求出每個數字的立方和

temp = num

while temp > 0:

digit = temp % 10

sum += digit ** order

temp //= 10

# 顯示結果

if num == sum:

print(num, "是阿姆斯特朗數")

else:

print(num, "不是阿姆斯特朗數")

執行結果:

注:讀者可以更改源**中num的值,然後再次執行以對其進行測試。

3. 在整數中查詢阿姆斯特朗數

例:# python程式在整數中查詢阿姆斯特朗數

lower = 100

upper = 2000

for num in range(lower, upper + 1):

# order 個數

order = len(str(num))

# 初始化 sum

sum = 0

temp = num

while temp > 0:

digit = temp % 10

sum += digit ** 程式設計客棧order

temp //= 10

if num == sum:

print(num)

執行結果:

注:在變數lower中設定了下限100,在變數upper中設定了上限2000。

使用了for迴圈來從變數lower到upper進行迭代。在迭代中,lower的值增加1,並檢查它是否為阿姆斯特朗數。

可以更改範圍並通過更改變數lower和upper進行測試。該變數lower應小於upper此程式才能正常執行。

本文基於python基礎,介紹了什麼是阿姆斯特朗數,以及如何去判斷,檢查阿姆斯特朗數,檢查是阿姆斯特朗的n位數字,在整數中查詢阿姆斯特朗數。都通過案例的分析,**的演示,效果的展示,進行有效的分析。

使用python語言,能夠讓讀者更好的理解。在實際專案中遇到的問題,難點,提供了有效的解決方案,供讀者參考。

**很簡單,希望能夠幫讀者更好的學習。

Python之阿姆斯特朗數

如果乙個正整數等於其各個數字的立方和,則這個數被稱為阿姆斯特朗數 亦稱為自戀性數 以下是 實現 author xiaozhi date 2019 08 11 給定乙個範圍 1 10000 以內,計算阿姆斯特朗數 num input 請輸入乙個範圍 if num.isdigit num int num...

利用shellcode來實現API的自動定位

include void main 拖入od中把shellcode轉換成機器碼 太麻煩了就不做了 但是這串 尋找kernel32.dll的方法是直接mov ebp,ecx 0x08 根據偏移量直接找到。ldr ininitializationmodulelist鍊錶在win7後把kernel32.d...

利用static來實現單例模式

class singleton private static singleton instance null publicsynchronizedstatic singleton getinstance return instance 就利用sington.getinstace就可以了,獲得的是同乙...