/**
* 水仙花数
abc = a^3 + b^3 + c^3
*/
void narcissus(){
int a,b,c;
int n = 100;
int m = 999;
while (n <= m) {
//个位
c = ((n%100)%10);
//十位
b = (((n%100)-c)/10);
//百位
a = ((n-c-b)/100);
if(a*a*a + b*b*b + c*c*c == n){
printf("%d=%d^3+%d^3+%d^3\n",n,a,b,c);
}
n++;
}
}
结果:
153=1^3+5^3+3^3
370=3^3+7^3+0^3
371=3^3+7^3+1^3
407=4^3+0^3+7^3