Python 练习

1. 题目

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

2. 分析

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

3. 实例

点我看答案
from functools import reduce

# 自幂数
start = 0
end = 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):
        if reduce(lambda x, y: x+y, map(lambda z: int(z) ** n, str(k))) == k:
            print(k)
    n = int(input('\n 请选择自幂数的位数【1,2,3,4,5,6】:'))
else:
    print('输入位数不在范围内,程序结束。')

© 2022 刘士. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""