C++每日一题(5.17)

      

        题目:

        打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153 = 1的三次方+5的三次方+3的三次方。

        程序分析:利用for循环控制100 - 999个数,每个数分解出个位,十位,百位。

        代码 

#include
using namespace std;
int main(){
for (int a = 100; a <= 999; a++) {
        int x, y, z, x1, y1, z1, b;
        x = a / 100; //百位
        y = a % 100 / 10;//十位
        z = a % 100 % 10;//个位
        x1 = x * x * x;
        y1 = y * y * y;
        z1 = z * z * z;
        b = x1 + y1 + z1;
        if (a == b)
            cout << a << endl;
        else continue;
    }
system("pause");
return 0;
}

         结果

运行结果如下:水仙花数为153,370,371,407。

153
370
371
407
请按任意键继续. . .

 

你可能感兴趣的:(c++,开发语言)