首页 > 技术文章 > 判断一个数是否是水仙花数

xiaozhangpython 2018-10-30 19:28 原文

 

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

常见的有

水仙花数又称阿姆斯特朗数。
三位的水仙花数共有4个:153,370,371,407;
四位的四叶玫瑰数共有3个:1634,8208,9474;
五位的五角星数共有3个:54748,92727,93084;
六位的六合数只有1个:548834;
七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;
八位的八仙数共有3个:24678050,24678051,88593477
 1 while 1:
 2     num = input("请输入一个三为数字:")
 3     if len(num) == 3 and num.isdigit():
 4         sum = 0
 5         for el in num:
 6             sum += int(el)**3
 7         if int(num) == sum:
 8             print("%s 是水仙花数" % num)
 9             break
10         else:
11             print("%s 不是水仙花数" % num)
12             break
13     else:
14         continue

 

推荐阅读