水仙花数是指一个3位数,他的每一位数上的数字的3次幂之和等于他本身,运用C++帮我写一个代码
时间: 2024-10-08 07:12:11 浏览: 20
在C++中,我们可以编写一个简单的函数来检查一个三位数是否是水仙花数。以下是一个示例代码片段:
```cpp
#include <iostream>
#include <cmath>
bool isArmstrongNumber(int number) {
if (number < 100 || number > 999) {
return false;
}
int original_number = number;
int sum_of_cubes = 0;
while (original_number != 0) {
int digit = original_number % 10;
sum_of_cubes += std::pow(digit, 3);
original_number /= 10;
}
return sum_of_cubes == number;
}
int main() {
int input;
std::cout << "请输入一个三位数: ";
std::cin >> input;
if (isArmstrongNumber(input)) {
std::cout << input << " 是一个水仙花数.\n";
} else {
std::cout << input << " 不是水仙花数.\n";
}
return 0;
}
```
这个程序首先定义了一个`isArmstrongNumber` 函数,接收一个整数作为参数。函数内部首先检查输入的数是否在三位数范围内,然后通过取模和除法分别获取每一位数字,计算它们的立方和。如果最终的立方和等于原数,那么返回`true`,表示它是水仙花数;否则返回`false`。
在`main`函数中,我们从用户那里读入一个三位数,然后调用`isArmstrongNumber`函数进行判断,并输出结果。