水仙花 问题
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方;
算法如下:
#include <iostream>
int main(int argc, char* argv[])
{
for (int i = 100; i < 1000; ++i)
{
int first = i % 10;
int second = (i / 10)%10;
int third = i / 100;
int retVal = first*first*first + second*second*second + third*third*third;
if (i == retVal)
{
std::cout << i << " is water flower!" << std::endl;
}
}
return 0;
}
结果如下:
root@localhost:/home/syp# ./a.out
153 is water flower!
370 is water flower!
371 is water flower!
407 is water flower!