这到底关键是我们如何取到一个数的某一位。一个数字模(%)上10取得是这个数字的个位,那么取十位我们可以先用这个数字除以10,再去模上10,这样就得到原数字的十位,百位同理。那么这道题就可以做了。
具体代码实现如下:
public class NarcissisticNumber {
public static void main(String[] args) {
int num = 0;
for (num = 0; num <= 999; num++) {
//个位
int a = num % 10;
//十位
int b = (num / 10) % 10;
//百位
int c = (num / 100) % 10;
if ((a * a * a) + (b * b * b) + (c * c * c) == num) {
System.out.println(num);
}
}
}
}