呵呵,可能这个问题比较简单。但开始刚刚接触,虽然这个问题很经典,但我想了比较久才把它弄出来。因为在pow函数那里卡住了,但后来慢慢看书,终于把它给弄出来啦,后来在网上找了找解法,发现和我的大同小异,还是想想是否有更简单的解法吧。
#include<iostream.h>
#include<math.h>
void main()
{
int m,a,b,c,tmp;
cout<<"The Narcissistic Number is "<<endl;
for(m=100;m<=999;m++)
{a=m/100;
b=(m%100)/10;
c=m%10; //把数分成三位,存在不同的地方
tmp=pow(a,3)+pow(b,3)+pow(c,3); //求出各位数的三次方之和
if(tmp==m)
cout<<m<<endl; //输出该水仙花数
}