输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身
时间: 2024-12-18 19:31:57 浏览: 7
"水仙花数"是指一个三位数,它的每个位上的数字(百位、十位和个位)分别被三次方后相加,结果正好等于原数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
要输出所有这样的水仙花数,我们可以编写一个简单的 C++ 程序,遍历从 100 到 999 的每一个整数,计算它的各个位立方和并检查是否等于原数。下面是实现这个功能的一个示例代码:
```cpp
#include <iostream>
bool isArmstrongNumber(int number) {
int sum = 0;
int temp = number; // 将数字分解
while (temp != 0) {
int digit = temp % 10;
sum += pow(digit, 3); // 计算立方和
temp /= 10;
}
return number == sum; // 检查是否为水仙花数
}
int main() {
for (int i = 100; i <= 999; ++i) {
if (isArmstrongNumber(i)) {
std::cout << i << " ";
}
}
std::cout << "\n";
return 0;
}
```
运行这段程序后,你会看到输出所有水仙花数的结果。如果想扩展到更多位数,只需要修改 `for` 循环的范围即可。
阅读全文