python解決水仙花數(自戀數)

2021-09-23 18:48:14 字數 650 閱讀 3778

用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 ...