阿姆斯特朗数——————还记得大明湖畔的水仙花么(笑)

阿姆斯特朗数

一、定义

如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。特别的,当n=3时,阿姆斯特朗数又名水仙花数

二、推理

n = 1时:类似1的3次方还是1,通过检验,发现,只有一位的数都是阿姆斯特朗数,像1,2,3,4,5,6,7,8,9
n = 2时:类似45中4的3次方5的3次方不等于45,就不是阿姆斯特朗数。
n=3时:类似153中1的3次方5的3次方3的3次方等于153,是阿姆斯特朗数,又名水仙花数
。。。当然还有n为4、为5。。。的情况就不一一列举了。

三、代码

a = input("输入一个范围:")      #只要是大于0的整数就行
if a.isdigit():      #判断是否为纯数字
    a = int(a)      #因为input返回的是str型,为了下面的代码方便,将输入的数变成int型
    for i in range(1,a+1):
        i = str(i)   #把数字转为字符串
        x = len(i)   #得到数字的位数    len是用来计算字符串的长度
        result = 0      #定义一个变量
        for j in i:  #通过遍历字符串的方式获得输入的数字里面的每一位
            j = int(j)   #str--->int
            result += j**x      #公式:每一位的长度次方
            pass
        if result == int(i):       #当每一位的长度次方之和等于输入的数时,满足条件
            print(result,end=",")
else:
    pass

四、总结

特别注意:本文中太多的转换类型,不可马虎。

以上内容仅供参考,切勿用于商业用途,定义内容来自万能的百度百科,其余如有雷同,纯属偶然!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值