复制
收藏
提问
简洁

(使用python)水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。 本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3≤N≤5) 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 在这里给出一组输入。例如: 3 输出样例: 在这里给出相应的输出。例如: 153 370 371 407

纯真时尚标
5天前
全网
文档
学术
百科
知识库
时间不限
自动
回答简洁模式
深入研究一些
  • 编写Python程序计算N位水仙花数。

程序设计

  • 输入处理:首先接收用户输入的整数N,确保N在3到5之间。
  • 循环遍历:使用嵌套循环遍历所有N位数,对每个数进行判断。
  • 判断条件:对于每个数,将其拆分为各个位上的数字,并计算这些数字的N次幂之和,判断是否等于原数。
  • 输出结果:如果满足条件,则输出该数。

代码实现

def is_narcissistic(num, N):
    sum_of_powers = 0
    original_num = num
    while num > 0:
        digit = num % 10
        sum_of_powers += digit ** N
        num //= 10
    return sum_of_powers == original_num

def find_narcissistic_numbers(N):
    for num in range(10**(N-1), 10**N):
        if is_narcissistic(num, N):
            print(num)

N = int(input())
find_narcissistic_numbers(N)

示例运行

  • 输入:3
  • 输出
    • 153
    • 370
    • 371
    • 407
你觉得结果怎么样?

以上内容由AI搜集生成,仅供参考

在线客服