/*
* Copyright(c)2011,烟台大学计算机学院
* All right reserved.
* 文件名称:test.cpp
* 作者: 张凯
* 完成日期:2013年11月04日
* 版本号: v1.0
* 问题描述:求1000以内的水仙数
* 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
*/
#include <iostream>
using namespace std;
int main ()
{
int i,j,k,n;
cout<<"水仙花数为:"<<endl;
for(n=100;n<1000;n++)
{
i=n/100; //分离百位。
j=n/10-i*10; //分离十位。
k=n%10; //分离个位。
if(n==i*i*i+j*j*j+k*k*k)
cout<<n<<" "<<endl;
}
return 0;
}
运行结果(如下图)
心得体会:提前学习一下分离百位,十位,个位的方法,然后再做会很简单。