三位數 abc 滿足 a³+b³+c³ = abc。
for (int n=100; n<1000; n++) {
int a=n/100, b=n/10%10, c=n%10;
if (n == a*a*a + b*b*b + c*c*c) printf("%d ", n);
}
for (int n=100; n<1000; n++) {
int sum=0, m=n;
do { sum += pow(m%10, 3); m/=10; } while (m);
if (sum==n) printf("%d ", n);
}
for (int n=100; n<1000; n++) {
int a=n/100, b=(n-a*100)/10, c=n%10;
if (n == a*a*a + b*b*b + c*c*c) printf("%d ", n);
}
153 370 371 407
pow 有浮點轉換開銷。