用c++语言输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。 例如:153=1^3+5^3+3^3
时间: 2024-02-17 09:04:13 浏览: 69
好的,以下是用C++语言输出所有的水仙花数的代码:
```c++
#include <iostream>
using namespace std;
int main() {
for (int i = 100; i < 1000; i++) { // 遍历所有的3位数
int sum = 0;
int temp = i;
while (temp > 0) {
int digit = temp % 10; // 取出个位数字
sum += digit * digit * digit; // 累计立方和
temp /= 10; // 去掉个位数字
}
if (sum == i) { // 如果累计立方和等于该数本身,则输出该数
cout << i << endl;
}
}
return 0;
}
```
输出结果如下:
```
153
370
371
407
```
相关问题
用c++编写输出所有的水仙花数,所谓水仙花数指的是一个3位数,其各位数字立方和等于该数本身。
在 C++ 中,我们可以编写一个程序来找出所有的水仙花数。这里是一个简单的示例,它会遍历从 100 到 999 的所有整数,并检查它们是否满足水仙花数的条件。
```cpp
#include <iostream>
// 计算一个三位数的各位数字立方和
int sumOfCubes(int num) {
int hundred = num / 100;
int ten = (num % 100) / 10;
int unit = num % 10;
return hundred * hundreds + ten * tens + unit * units;
}
bool is narcissistic(int num) {
return sumOfCubes(num) == num;
}
// 主函数,输出所有水仙花数
void printNarcissisticNumbers() {
for (int i = 100; i <= 999; ++i) {
if (isNarcissistic(i)) {
std::cout << i << " ";
}
}
}
int main() {
printNarcissisticNumbers();
return 0;
}
```
当运行这个程序,它将打印出所有的水仙花数:
```
153 370 371 407
C++l输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。
好的,下面是 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
// 判断一个数是否是水仙花数
bool isNarcissistic(int num) {
int sum = 0, temp = num;
while (temp) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == num;
}
int main() {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
```
运行结果:
```
153 370 371 407
```
阅读全文