Python 用while()判断并输出1000以内(或10000以内)的水仙花数

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

思路解析

  1. 判断这个数的位数是否是3位以上。(如果是1000以内的数字,问题比较简单,可以直接判断是否≥100;如果要判断的数还包括4位的,那还需要判断数字的位数,可以考虑用循环来做)
  2. 判断这个数各个位上的数字。(我认为这个是这个题的核心点)
  3. 各位上的数字的n次幂的和的计算。(循环)
  4. 第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+

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值