【基础入门题】2021.11.03
水仙花数定义:指一个正整数的各位数字的立方和等于其本身。
求出所有三位的水仙花数,即在范围(100,1000)内的水仙花数。
编程语言:包括但不限于Python
题目来源:派森特给站每日刷题频道
水仙花数一般指三位数的:
方法一:
def is_narcissistic(n): if not 99<n<1000: return False a,b,c = n//100, (n//10)%10, n%10 return n==a**3+b**3+c**3 for i in range(100,1000): if is_narcissistic(i): print(i)
法二: 可以算出任意位数的水仙花数:
def is_narcissistic(n): i, j = 0, n while j: k = j%10 i += k**len(str(n)) j //= 10 return n==i+j for i in range(100,100000): if is_narcissistic(i): print(i)
三位水仙花数是立方和,四位的是四次方和,以此类推
方法二的100~100000间的水仙花数有:
153
370
371
407
1634
8208
9474
54748
92727
93084