python基本算法合集(11)——找水仙花数
所谓水仙花数就是给定随机的三位数,它的各位数字的三次幂之和等于它本身,如:
三位数153=1^+5^3+3^3
要求编程实现判断给定范围内的水仙花数。
难点在于要分解出三位数的个位数、十位数和百位数。
下面用153为例,分解百位数、十位数和个位数
分解百位数:153//100=1
分解十位数:153//10%10=5
分解个位数:153%10=3
其实只要把要分解的数字想办法弄到个位上去,即往前点小数点,如要分解百位数就要把1弄到个位数上去即往前点2为即1.53,分解十位数即将小数点往前点1位即15.3再与10取余,分解个位数简单了与10取余即可。代码如下:
for n in range(0,100000000):
i=n//100#得到百位数
j=n//10%10#得到十位数
k=n%10#得到个位数
if n==i**3+j**3+k**3:
print('水仙花数:{}'.format(n))
执行效果如下:
江苏省启东市汇龙镇scratch、python上门一对一专业辅导,微信:double_sings(加好友请备注来意,谢谢)