Python 求解水仙花数

本文介绍了水仙花数的概念,它是一种特殊的三位数,其每位数字的3次幂之和等于它本身。通过Python代码演示了如何遍历并验证100到999之间的数,找出所有水仙花数,例如153就是一个水仙花数。文章旨在展示数字的有趣性质和编程验证方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是水仙花数?

介绍摘自网络。

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。水仙花数又称阿姆斯特朗数。

分析

首先,水仙花数是一个三位数,另外,它的每个位上的数字的 3次幂之和等于它本身。

抓住这两点,我们继续分析如何解题。

首先,我们可以将每一个三位数数字都验证一遍,来查看是否符合条件,我们可以使用python中的for 循环来做这件事。

另外,我们还要获取每一个三位数上每一位的数。如:123,我们应该获取百位、十位、个位上的数字分别是多少,然后进行对每一位数都进行三次方运算,最后加和,验证是否和原数相等,如果相等,就输出这个数。

代码如下:

#从100到999验证
for i in range(100,1000):
    #获取每位数字
    a = int(str(i)[0])
    b = int(str(i)[1])
    c = int(str(i)[2])
    #比对是否和原数相等
    if a**3+b**3+c**3 == int(i):
        print(i)

点个赞呗~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值