题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
分析,首先想要找出水仙花数先要遍历出所有的三位数,即:
第一步
for (int i = 100; i <= 999; i++) {
}
接下来,想要判断这个数是否是水仙花数就要先拿到这个数的个位、十位和百位的数字分别是多少,即:
第二步
int ge = i%10;
int shi = i/10%10;
int bai = i/100%10;
拿到个位、十位和百位的数字之后我们只需要判断这个数是否是谁先花数就可以了,如果是,我们就打印他,如果不是,就不打印,即:
第三步
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
System.out.println(i);
}
这样水仙花数就求出来了,最终的代码为:
最终代码
public class Demo {
public static void main(String[] args) {
//遍历所有三位数
for (int i = 100; i <= 999; i++) {
//求出个位十位百位分别是多少
int ge = i%10;
int shi = i/10%10;
int bai = i/100%10;
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
System.out.println(i);
}
}
}
}
控制台的打印结果为
153
370
371
407