python求指定范围内的阿姆斯特朗数

阿姆斯特朗数:如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。

例如1^3 + 5^3 + 3^3 = 153。


python代码

#取指定范围内的阿姆斯特朗数
#获取用户输入的范围
#下限
lower=int(input("请输入范围下限:"))
#上限
upper=int(input("请输入换位上限:"))

for num in range(lower,upper+1):
#初始化变量
    sum=0
#指数
    n=len(str(num))
#检测
    temp=num#把num的值赋给temp,避免num的值出现变化,便于后续和sum的比较。
    while temp>0:
        digit=temp%10#取余,并把结果赋值给digit
        sum+=digit**n
        temp//=10#取整,并把结果赋值给temp
    if num==sum:
        print("在{}-{}范围内的阿姆斯特朗数有:{}".format(lower,upper,num))

例如求取6666-9999范围内的阿姆斯特朗数:

请输入范围下限:6666
请输入换位上限:9999
在6666-9999范围内的阿姆斯特朗数有:8208
在6666-9999范围内的阿姆斯特朗数有:9474
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值