题目:打印出100 - 999 之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:

   153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
  int i,j, count = 0;
  int n,m,k;
 
  for(i = 100; i < 1000; i++)
  {
    n = i % 10;
    m = (i / 10) % 10;
    k = (i / 100) % 10;
    j = (n * n * n) + (m * m * m) + (k * k * k);
    if (i == j)
    {
      count++;
      cout << setw(5) << i;
      if(count % 5 == 0)
      {
        cout << endl;
      }
    }
  }
  cout << endl << "水仙花数总个数为:" << count << endl;
 
  return 0;
}
 
 
posted on 2015-04-17 15:42  凡尘微末  阅读(647)  评论(0编辑  收藏  举报