阿姆斯特朗數定義:如果乙個n位正整數等於其各位數字的n次方之和,則稱該數為阿姆斯特朗數。 例如1^3 + 5^3 + 3^3 = 153。
1000以內的阿姆斯特朗數: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。
核心**為
length =
len(
str(num)
)# num是輸入的數字,型別為int
for ii in
range
(length)
:# length是數字的位數
num_str =
str(num)
sum_armstrong +=
int(num_str[ii]
)**length # num_str是原數拆分成各個位的數字
if sum_armstrong == num:
return
true
完整**如下:
def
is_armstrong
(num)
: length =
len(
str(num)
) sum_armstrong =
0for ii in
range
(length)
: sum_armstrong +=
int(
str(num)
[ii]
)**length
if sum_armstrong == num:
return
true
else
:return
false
for num in
range(1
,1000):
if is_armstrong(num)
:print
(num, end =
' ')
執行效果:
123
4567
89153370
371407
process finished with exit code 0
核心**:
temp = num # 新建乙個用於找每一位數字的臨時變數
while temp >0:
sum_armstrong +=
(temp%10)
**length # 取最後一位數字
temp //=
10# 除以10,整除**,相當於直接拿掉最後一位數字
if sum_armstrong == num:
return
true
完整**如下:
def
is_armstrong
(num)
: temp = num
sum_armstrong =
0 length =
len(
str(num)
)while temp >0:
sum_armstrong +=
(temp%10)
**length # 取最後一位數字
temp //=
10if sum_armstrong == num:
return
true
else
:return
false
for num in
range(1
,1000):
if is_armstrong(num)
:print
(num, end =
' ')
用python3尋找1000以內的完數
題目 乙個數恰好等於它的因子之和,這個數就稱之為完數例如 6 1 2 3請找出1000以內的所有完數,可以參照尋找因式分解的程式。結果 6,28,496 方法一 import math for i in range 2 1001 1 factor num 0for l in range 1 int ...
python 查詢 1000以內的質數
python 查詢 1000以內的質數 1.判斷某個數字是否是質數 print 判斷某個數字是否是質數 num 17i 2is prime true 標識當前數字是否為質數,true 是 false 不是 while i num if num i 0 is prime false break i i...
1000以內的數
我們要求找出具有下列性質數的個數 包含輸入的自然數n 先輸入乙個自然數n n 1000 然後對此自然數按照如下方法進行處理 1.不作任何處理 2.在它的左邊加上乙個自然數,但該自然數不能超過原數最高位數字的一半 3.加上數後,繼續按此規則進行處理,直到不能再加自然數為止.輸入 第一行乙個數t,表示有...