ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

水仙花数 - ace-

水仙花数 - ace-

水仙花数(Narcissistic number)也被称为阿姆斯特朗数(Armstrong number),是指一个 n 位数,其各位数字的 n 次方之和等于它本身。


1. 最常见的情况:三位数的水仙花数

三位数的水仙花数满足:
[
abc = a^3 + b^3 + c^3
]

三位数的水仙花数只有 4 个:

  • 153:(1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153)
  • 370:(3^3 + 7^3 + 0^3 = 27 + 343 + 0 = 370)
  • 371:(3^3 + 7^3 + 1^3 = 27 + 343 + 1 = 371)
  • 407:(4^3 + 0^3 + 7^3 = 64 + 0 + 343 = 407)

2. 扩展到其他位数

四位数的水仙花数

[
abcd = a^4 + b^4 + c^4 + d^4
]
有 3 个:163482089474

五位数的水仙花数

[
abcde = a^5 + b^5 + c^5 + d^5 + e^5
]
有 3 个:547489272793084

六位数的水仙花数

[
abcdef = a^6 + b^6 + c^6 + d^6 + e^6 + f^6
]
有 1 个:548834


3. 代码判断(Python)

def is_narcissistic(num):n = len(str(num))total = sum(int(d) ** n for d in str(num))return total == num# 示例:找出所有三位水仙花数
for i in range(100, 1000):if is_narcissistic(i):print(i)

4. 有趣的事实

  • “水仙花数”这个名字来源于荷兰数学家,因为它的自幂性质像水仙花一样自我欣赏。
  • 最大的水仙花数是 39 位的
    115132219018763992565095597973971522401
  • 除了 1 位数(0-9 都是,但通常 0 不算),每个进制下都有有限个水仙花数。
返回列表