最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Python打印所有的水仙花数

XAMPP案例 admin 21浏览 0评论

今天复习一下打印所有的水仙花数。

 

所谓水仙花数,就是指如果一个三位数,等于个数、十位、百位上的数字的立方和,那么该三位数就是水仙花数。

既然是让电脑自己打印,所以我们先要把所有的三位数列出来,然后让电脑判断,如果是,就打印出来,不是,就不用管它。

那么我们可以利用 for i in range(100,1000) 这样一个自带的数据,用术语应该是遍历,把所有的三位数都筛一遍。

 

然后再用if 语句,加以判断,如果满足,就打印。

那么满足什么条件呢?

当然是i=个位数的3次方+十位数3次方+百位数的3次方。

问题是给出一个i,电脑怎么提取个位数、十位数、百位数呢?

这里我们要用到相关的运算符//,%。

a//b 这个运算符,表示的意义是取商的整数部分,比如345//10意思是商的整数部分是34,如果把345//100表示的就是商为3,这样我们就能找到这个三位数的百位数字。

想要找到345的个位数字5,我们可以利用%运算符,它表示的意义是取余数,如345%10的余数就算5。

我们还需要提取十位数字4,可以把两个运算符结合起来用,345//10%10,先得到商是34,再得到余数是4。

 

好,下面我们给出代码

for a in range(100,1000):

b = a%10

c = a//10%10

d = a//100

 

if a == b**3+c**3+d**3:

print(a)

最后1000以内的水仙花数一共是四个:153,370,371,407。

转载请注明:XAMPP中文组官网 » Python打印所有的水仙花数