Python教程

水仙花数(Python123)

本文主要是介绍水仙花数(Python123),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

水仙花数

描述

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 n位数(n≥3 且 n<6),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153,此处'^'表示幂运算)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

编程寻找并输出n位的水仙花数,n由用户输入,每行输出一个数字。

输入格式

输入一个介于3到5之间的正整数(包括3和5)

输出格式

输出n位的水仙花数,每行一个数

代码

N = eval(input())
for i in range(10 ** (N - 1), 10 ** N):  # 循环范围
    s = 0  # 每次重置和为0
    for j in range(len(str(i))):  # 通过将数字i变成字符串,通过字符串长度来遍历字符串
        s += int(str(i)[j]) ** N  # 将字符串的每个提出来转换为整型然后进行N次方
    if s == i:  # 如果s等于它本身,就输出水仙花数
        print(i)
这篇关于水仙花数(Python123)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!