水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身
#include<iostream>
using namespace std;
int main()
{
int num =100;
do {
num++;
} while (num < 1000);
int a = 0;
int b = 0;
int c = 0;
a = num % 10;
b = num / 10 % 10;
c = num / 100;
if (num=a^3+b^3+c^3)
{
cout << num << endl;
}
system("pause");
return 0;
}
判断的放在循环里面,还有判断相等是两个==
/ 是求商,%是求余
int num =100;
do {
num++;
} while (num < 1000);
这里得到999
a = num % 10; 这里是求余等于1
b = num / 10 % 10; 这里也是等于1
c = num / 100; 求商,等于9
3次三次幂 以后不应该是1+1+729=731的么?
if (num=a^3+b^3+c^3) 判断应该用==号
判断语句错了 =是赋值 ==是等于
判断相等是 ==
而且^在C/C++里是 位异或 运算符
要求3次幂用 cmath 库里的pow(a, 3);
应该是这样:
if (num == (pow(a, 3) + pow(b, 3) + pow(c, 3)))