水仙花数的代码c++
时间: 2023-11-20 07:52:27 浏览: 89
这里提供了三个不同的C++代码来输出水仙花数,它们的基本思路都是一样的,即通过循环遍历所有三位数或四位数,然后将每个数的个位、十位、百位等分离出来,计算它们的立方和是否等于该数本身,如果是,则输出该数。下面是其中一个代码的详细解释:
```
#include <iostream>
using namespace std;
int main() {
int a, b, c;
for (int i = 100; i < 1000; i++) { //循环遍历所有三位数
a = i % 10; //获取个位
b = i / 10 % 10; //获取十位
c = i / 100; //获取百位
if (a * a * a + b * b * b + c * c * c == i) { //判断是否为水仙花数
cout << i << endl; //输出水仙花数
}
}
return 0;
}
```
相关问题
写一个水仙花数的c++代码
Sure, 以下是写一个水仙花数的C代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, n = 0;
float result = 0.0;
printf("请输入一个三位数:");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0)
{
originalNum /= 10;
++n;
}
originalNum = num;
while (originalNum != 0)
{
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if ((int)result == num)
printf("%d 是水仙花数", num);
else
printf("%d 不是水仙花数", num);
return 0;
}
```
注意:在此示例中,有些人认为水仙花数是指任意数量的数字的情况。因此,如果您希望检查4位或5位数的水仙花数,则要相应地更改“ n”的值。
输出所有水仙花数c++代码
以下是输出所有水仙花数的 C++ 代码:
```c++
#include <iostream>
using namespace std;
int main() {
int num, sum, temp;
for (int i = 100; i <= 999; i++) {
num = i;
sum = 0;
while (num > 0) {
temp = num % 10;
sum += temp * temp * temp;
num /= 10;
}
if (sum == i) {
cout << i << " ";
}
}
return 0;
}
```
这段代码可以输出所有三位数的水仙花数。
阅读全文