水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。我们需要编写一个简单的程序,当你输入一个三位数,利用你的程序判断它是否是水仙花数。
时间: 2024-10-21 21:07:48 浏览: 20
水仙花数的确切定义正如你所说,它是一个三位数,其百位、十位和个位数字的立方和等于该数本身。在编程中,你可以通过以下步骤创建一个函数来检查一个数是否为水仙花数:
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
```
用Java打印输出所有的水仙花数,所谓水仙花数指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数
好的,这是一个用 Java 打印输出所有的水仙花数的程序:
```java
public class Main {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int a = i / 100; // 获取百位数
int b = i / 10 % 10; // 获取十位数
int c = i % 10; // 获取个位数
if (i == a * a * a + b * b * b + c * c * c) {
System.out.println(i);
}
}
}
}
```
程序运行结果:
```
153
370
371
407
```
该程序通过 `for` 循环遍历 100 到 999 之间的所有数,然后用三个变量 `a`、`b`、`c` 分别获取当前数字的百位、十位、个位数,判断当前数字是否等于它的各位数字的立方和,如果是,则输出该数字。
希望能够帮到您!
阅读全文