1. 程式人生 > >Python 水仙花數練習

Python 水仙花數練習

問題描述:如果一個 3 位數等於其各位數字的立方和,則稱這個數為水仙花數。#例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一個水仙花數。

練習1:輸入一個3位數,判斷是否為水仙花數

方法一: 

a = num %10

b =int(((num %100)-a)/10)

c =int((num- a- b*10)/100)

if num == a**3+b**3+c**3:

print("輸入的數為水仙花數:")

else:

print("輸入的數不是水仙花數")

 方法二:

num  = int(input('請輸入一個三位數:'))

if num == pow(num // 100 , 3) + pow(num % 10 , 3) + pow(num // 10 % 10, 3):

    print("這是一個水仙花數%d" % num)

else:

    print("這不是一個水仙花數%d" % num)

 


 

練習2:打印出100-999內所有的水仙花數

 方法一:將數字轉化為字串,通過索引的方法判斷 

for i in range(100,1000):
    s = str(i)
    if i == int(s[0])**3+int(s[1])**3+int(s[2])**3:
        print("水仙花數為:",i)

方法二:用算數運算獲取百位十位個位數字

for i in range(100,1000):
    baiwei=i//100
    shiwei=i%100//10
    gewei=i%10
    if i==baiwei**3+shiwei**3+gewei**3:
        print("水仙花數為:",i)