java常见逻辑练习题打印出所有的"水仙花数"

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

分析,首先想要找出水仙花数先要遍历出所有的三位数,即:

第一步

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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值