Python 练习

1. 题目

用户输入位数 n,找出并显示出所有 n 位的自幂数。

2. 分析

自幂数是指一个 n 位正整数,如果它的各位数字的 n 次方的和加起来等于这个数,数学家称这样的数为自幂数。例如,13+53+33=153,153 就是一个 3 位的自幂数,3 位自幂数也称为水仙花数。本程序设 n 的数值为 1~6,当 n 大于 6 时,程序退出。

3. 实例

点我看答案
# 自幂数
start = 0
end = 0
digit = 0
m = 0
n = int(input('请选择自幂数的位数【1,2,3,4,5,6】:'))
while 0 < n < 7:
    start = pow(10, n - 1)
    end = pow(10, n) - 1
    print(n, '位数的自幂数有:')
    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('\n 请选择自幂数的位数【1,2,3,4,5,6】:'))
else:
    print('输入位数不在范围内,程序结束。')

© 2020 曾润平. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""