python求任意数位的自幂数

描述:

一位自幂数:独身数

三位自幂数:水仙花数

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

七位自幂数:北斗七星数

八位自幂数:八仙数

九位自幂数:九九重阳数

十位自幂数:十全十美数

代码实现

代码中没有考虑求 一位自幂数:独身数的情况,读者如果需要在输入语句下加入判断即可。

start = 0
end = 0
digit = 0
m = 0
n = int(input("Please enter the number of digits from the power number:"))
while n:
    start = pow(10, n - 1)
    end = pow(10, n) - 1
    print(n, 'The power of the number of digits has:')
    for k in range(start, end + 1):
        m = k
        total = 0
        while m != 0:
            digit = m % 10
            total += pow(digit, n)
            m = m // 10
        if total == k:
            print(str(k), end=' ')
    n = int(input('\nPlease enter the number of digits from the power number:'))
else:
    print('The number of input digits is out of range, and the program ends.')

结果

 一位的独身数共有1个:1;

三位的水仙花数共有4个:153,370,371,407;

四位的四叶玫瑰数共有3个:1634,8208,9474;

五位的五角星数共有3个:54748,92727,93084;

六位的六合数只有1个:548834;

七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;

八位的八仙数共有3个:24678050,24678051,88593477;

九位的九九重阳数共有4个: 146511208,472335975,534494836,912985153;

十位的自幂数只有1个:4679307774

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值