用C++输出所有的水仙花数
时间: 2024-09-27 19:09:21 浏览: 47
输出所有在m和n范围内的水仙花数.cpp
5星 · 资源好评率100%
水仙花数是一个特殊的整数,它的每个位数字的立方之和等于它本身。例如,153是个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C++中,你可以通过循环遍历一定范围内的整数,并计算每一位的立方,然后检查总和是否等于原数来找出水仙花数。以下是简单的代码示例:
```cpp
#include <iostream>
#include <string>
bool isArmstrongNumber(int number) {
int original_number, remainder, sum = 0;
original_number = number;
// 计算每一位数字的立方和
while (original_number != 0) {
remainder = original_number % 10;
sum += pow(remainder, 3);
original_number /= 10;
}
// 如果原始数字和立方和相等,则是水仙花数
return (number == sum);
}
int main() {
int start = 100; // 水仙花数通常在三位数范围内查找
int end = 999; // 包含边界
std::cout << "水仙花数在 " << start << " 到 " << end << " 范围内有:\n";
for (int i = start; i <= end; ++i) {
if (isArmstrongNumber(i)) {
std::cout << i << " ";
}
}
std::cout << "\n";
return 0;
}
```
阅读全文