Python 水仙花數練習
阿新 • • 發佈:2019-01-06
問題描述:如果一個 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)