不同位权的立方和等于该数本身即为水仙花数,不理解的话看代码。
#include<stdio.h>
int main() {
//不同位权的立方之和等于这个数本身
int i,a,b,c;
for(i=100;i<1000;i++){
a=i/100;
b=(i-(a*100))/10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
printf("1000范围内的水仙花数:%d\n",i);
}
return 0;
}
这个练习的关键就是要懂得求出个、十、百位的数值。