水仙花数编程python,水仙花数--...
888
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要用整除函数"//",一般用拆分解法,枚举的三重循环暴力美学,在elm里要转化成尾递归,实现有点难度。
发表评论
暂时没有评论,来抢沙发吧~