分析:
设所求三位数的百位数为i,十位数为j,个位数为k,则其值应满足:i*i*i+j*j*j+k*k*k==100*i+10*j+k。因此可使用嵌套循环 for 语句,列举出个位、十位、百位数的所有可能取值,满足条件的数就是水仙花数。
#include<stdio.h>
int main(){
int i,j,k;
for(i=1;i<=9;i++){
for(j=0;j<=9;j++){
for(k=0;k<=9;k++){
if(100*i+10*j+k==i*i*i+j*j*j+k*k*k){
printf("%d\n",100*i+10*j+k);
}
}
}
}
return 0;
}