用python解決水仙花數:
首先要了解一下什麼是水仙花數,舉個栗子:
153 = 1^3 + 5^3 + 3^3
每個位上的數字相乘三位數(3)
顯而易見,我們要先把每個位數的數字遍歷出來,然後在乘位數的次數
這裡採用的是運算子 ** ,math.pow(x,y)也應該可以執行,先用第一種吧:
問題給出任意的數字判斷是否為水仙花數,如果正確return true 錯誤 return false
開始擼碼了
def solution(value):
n = len(str(value))
sum = 0
for i in str(value):
sum += int(i) ** int(n)
if sum == value:
return true
else:
return false
還有一種方法直接返回
def solution(value):
return value == sum( int(x) ** len(str(value)) for x in str(value))
希望可以幫助大家理解python的解題思維 python的水仙花數
列印出所有的 水仙花數 所謂 水仙花數 是指乙個三位數,其各位數字立方和等於該數本身。例如 153是乙個 水仙花數 因為153 1的三次方 5的三次方 3的三次方。這題也是送分題,只要能把任意三位數的百位 十位 個位拆解出來就好辦了。思路 將任意3位數除以100再向下取整,即可得到百位數。將這個3位...
python編寫水仙花數
列出所有的水仙花數 coding utf 8 列出水仙花數 for num in range 100,1000 ge num num 10 bai num num 100 shi num num bai num 100 ge num 10 if ge num 3 shi num 3 bai num ...
水仙花數題解
水仙花數 3位數,其各位數字立方和為該數本身.include stdio.h void main int i,j,k,n 定義n的個位數為k,十位為j,百位為i printf narcissus numbers are for n 100 n 1000 n 使n從100 999迴圈 i n 100 ...