水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。我们需要编写一个简单的程序,当你输入一个三位数,利用你的程序判断它是否是水仙花数。
时间: 2024-10-21 14:07:48 浏览: 26
水仙花数的确切定义正如你所说,它是一个三位数,其百位、十位和个位数字的立方和等于该数本身。在编程中,你可以通过以下步骤创建一个函数来检查一个数是否为水仙花数:
1. 首先,你需要获取用户输入的三位数,并将其分解成百位、十位和个位。
2. 计算这三个数字分别的立方。
3. 将这三部分相加,如果结果等于原数,那么这个数就是水仙花数;否则就不是。
4. 最后,你可以用一个if条件语句来进行比较并给出结论。
下面是一个简单的Python示例代码:
```python
def is_narcissistic_number(num):
# 分解百位、十位和个位
digits = [int(digit) for digit in str(num)]
# 计算立方和
sum_of_cubes = sum([digit**3 for digit in digits])
# 比较是否相等
if sum_of_cubes == num:
return True
else:
return False
# 获取用户输入
number = int(input("请输入一个三位数:"))
# 判断并打印结果
if is_narcissistic_number(number):
print(f"{number} 是水仙花数")
else:
print(f"{number} 不是水仙花数")
相关问题
编程求所有的水仙花数水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数代码
以下是求解所有三位数水仙花数的 Python 代码:
```python
for num in range(100, 1000):
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
if num == digit1**3 + digit2**3 + digit3**3:
print(num)
```
输出结果为:
```
153
370
371
407
```
打印所有水仙花数,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如 153是水仙花数用c语言
在C语言中,我们可以编写一个简单的程序来找出所有的水仙花数。以下是一个基本的示例:
```c
#include <stdio.h>
// 计算一个整数的各位数字立方之和
int sumOfCubes(int num) {
int cubeSum = 0;
while (num > 0) {
int digit = num % 10;
cubeSum += digit * digit * digit;
num /= 10;
}
return cubeSum;
}
// 主函数,遍历并打印水仙花数
void printWaterLilyNumbers() {
for (int i = 100; i <= 999; i++) {
if (sumOfCubes(i) == i) {
printf("%d ", i);
}
}
}
int main() {
printWaterLilyNumbers();
return 0;
}
```
在这个程序中,我们首先定义了一个辅助函数`sumOfCubes`计算输入整数的立方和,然后在`printWaterLilyNumbers`函数中,从100到999逐个检查每个数字是否满足水仙花数条件。如果满足,就将其打印出来。
阅读全文