用简易c++实现所有的水仙花数
时间: 2024-10-25 09:14:47 浏览: 87
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
下面是一个简单的 C++ 程序,用于找出并打印出所有小于1000的水仙花数:
```cpp
#include <iostream>
#include <vector>
// 函数来检查一个整数是否是水仙花数
bool isArmstrongNumber(int num) {
int originalNum = num;
int sum = 0;
while (num != 0) {
int digit = num % 10; // 获取个位数字
sum += std::pow(digit, 3); // 立方并累加
num /= 10; // 移除个位
}
return originalNum == sum;
}
int main() {
std::vector<int> narcissisticNumbers;
for (int i = 100; i <= 999; ++i) {
if (isArmstrongNumber(i)) {
narcissisticNumbers.push_back(i);
std::cout << i << " ";
}
}
return 0;
}
```
运行这个程序,它会打印出所有的水仙花数:153, 370, 371, 407.
阅读全文