什么是水仙花数:水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1**3 + 5**3 + 3**3 = 153)
思路解析
- 判断这个数的位数是否是3位以上。(如果是1000以内的数字,问题比较简单,可以直接判断是否≥100;如果要判断的数还包括4位的,那还需要判断数字的位数,可以考虑用循环来做)
- 判断这个数各个位上的数字。(我认为这个是这个题的核心点)
- 各位上的数字的n次幂的和的计算。(循环)
- 第3点计算的值是否和该数字相等。(条件判断)
具体解析
- 位数n判断(以包含4位或者5位的数来思考)
n=0
while i/(10**n)<=10:n+=1
n+=1
- 判断各位上的数字
j=0
sum=0
while j<=n-1:
sum=sum+