python尋找1000以內的阿姆斯特朗數

2021-09-26 10:13:20 字數 1939 閱讀 7012

阿姆斯特朗數定義:如果乙個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,表示有...