方法1 循环做
#include <stdio.h>
int main(void)
{
int i, sum, t;
for(i = 100; i <= 999; i++)
{
sum = 0;
t = i;
while (t) {
int t2 = t % 10;
sum += t2 * t2 * t2;
t /= 10;
}
if(i == sum)
printf("%d\n", i);
}
return 0;
}
方法2 直接算
#include <stdio.h>
int main(void)
{
int d1, d10, d100, i;
for (i = 100; i <= 999; i++) {
d1 = i % 10;
d10 = i / 10 % 10;
d100 = i / 100;
if(i == d100 * d100 * d100 + d10 * d10 * d10 + d1 * d1 * d1)
printf("%d\n", i);
}
return 0;
}