水仙花數編程python,水仙花數--...
924
2023-11-02
所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
一、python的拆分解法
for?n?in?range(100,1000): ????i?=?int(n/100) ????j?=?int(n/10%10) ????k?=?int(n%10) ????if?n?==?i?**?3?+?j?**?3?+?k?**?3: ????????print?(n)二、ELM榆木的拆分解法
module?Flower_A?exposing?(main) import?Html?exposing?(div,text) import?Debug?exposing?(toString) import?List?exposing?(range) g?=? range?100?1000 i? n?=?? (n//100) j? m?=?? modBy?(m//10)?10 v? t?=?? modBy?t?10 t1? k?=? (i?k)*(i?k)*(i?k)+(j?k)*(j?k)*(j?k)+(v?k)*(v?k)*(v?k) t2?k1?=??? if?t1?k1?==?k1?then????? k1 else?????? 0 result??=?? List.map?(\x?->?t2?x)?g main?=?text?<|?Debug.toString?<|?result???三、python的暴力解法
for a in range(1,10): for b in range(1,10): for c in range(1,10): d=a*100+b*10+c if d == a**3+b**3+c**3: f=d print("水仙花數:",d) else: pass體會:折分解法時會遇到浮點數問題,python在數值前要加int,而elm要用整除函數"http://",一般用拆分解法,枚舉的三重循環暴力美學,在elm里要轉化成尾遞歸,實現有點難度。
發表評論
暫時沒有評論,來搶沙發吧~