呵呵,可能這個問題比較簡單。但開始剛剛接觸,雖然這個問題很經典,但我想了比較久才把它弄出來。因為在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; //輸出該水仙花數
}