Python计算水仙花数

1.什么是水仙花数

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

2.代码实现

在这里插入图片描述逻辑分析:x,y,z分别表示一个三位数的百位十位个位,所以这个三位数等于x乘以100加上y乘以10加上z。这个数也等于x的三次幂加上y 的三次幂再加上z的三次幂。两者相等,即所求之数。
代码详细说明:

for x in range(1,10):  #遍历x的取值(1-9)
    for y in range(0,10): #遍历y的取值(0-9)
        for z in range(0,10): #遍历z的取值(0-9)
            s1=x*100+y*10+z    #s1的表示
            s2= x**3 + y**3 + z**3   #或者s2=pow(x,3)+pow(y,3)+pow(z,3)
            if s1==s2:
                print("水仙花数有:%ld" %(s1))

答案取值有153,370,371,407四种形式。
由此我们可以延伸:
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
三位的水仙花数共有4个:153,370,371,407;
四位的四叶玫瑰数共有3个:1634,8208,9474;
五位的五角星数共有3个:54748,92727,93084;
六位的六合数只有1个:548834;
七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;
八位的八仙数共有3个:24678050,24678051,88593477
学习代码渐渐地我们会发现自己对代码越来越有兴趣,也会解决一些人类思维比较难处理的事情,比如数学计算,后期也会跟大家继续分享自己的新的体会。

  • 86
    点赞
  • 349
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值