水仙花数】水仙花数是指一个 3 位数,它的每一位上的数字的 3次幂之和等于它本身(例如:1X1X1 + 5X5X5+ 3X3X3 = 153)。 编程实现:输入一个整数n,如果是一个三位数,判断是不是水仙花数
时间: 2024-10-20 19:12:38 浏览: 82
水仙花数是一种特殊的三位数,它的百位、十位和个位上数字分别立方后再相加的结果等于原数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
在编程中,你可以通过以下步骤实现这个功能:
- 首先,检查输入的整数n是否是一个三位数。如果不是,直接返回False,因为它不符合水仙花数的条件。
- 接着,分解n为百位(n // 100)、十位((n // 10) % 10)和个位(n % 10)。
- 计算这三个数字的立方和。
- 比较计算结果是否等于原来的n。
以下是Python的一个示例代码:
def is_narcissistic_number(n):
# 检查是否是三位数
if n < 100 or n > 999:
return False
# 分解并计算立方和
digits_sum = sum(int(digit)**3 for digit in str(n))
# 比较是否相等
return digits_sum == n
相关问题
python 求所有水仙花数。水仙花数是指一个 3位数,它的每个位上的数字的3次幂之和等于它本身。
以下是Python代码实现打印100到999之间的所有水仙花数:
for i in range(100, 1000):
num = str(i)
sum = 0
for j in num:
sum += int(j) ** 3
if sum == i:
print(i)
运行结果为:
153
370
371
407
找出所有的水仙花数。水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
水仙花数即为满足以下条件的所有三位数: $abc=a^3+b^3+c^3$ 其中,$a$、$b$、$c$ 分别为该三位数的百位、十位、个位数字。 根据该条件,我们可以编写如下代码进行求解:
for i in range(100, 1000):
a = i // 100
b = i // 10 % 10
c = i % 10
if i == a**3 + b**3 + c**3:
print(i)
输出结果为:
153
370
371
407
因此,所有的水仙花数为 153、370、371 和 407。
相关推荐
















