简单的For循环练习5(在控制台输出所有的“水仙花数”)

天将降大任于斯人也,必先盗其QQ,封其微博,收其wife,夺其手机。让其静心学习java!

需求:在控制台输出所有的“水仙花数”
分析:
	所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身
	举例:153就是一个水仙花数
	153 = 1*1*1+5*5*5+3*3*3
	A:三位数其实是告诉我们范围
	B:通过for循环我们就可以实现获取每一个三位数
		但是麻烦的是如何获取这个三位数的个,十,百位上的数据
		
		我们如何获取一个数据的个,十,百位上的数据呢?
			假设有一个数据:153
			个:153%10 = 3
			十:153/10%10 = 15%10 = 5
			百:153/10/10%10  = 1%10 = 1
			千:x/10/10/10%10
		
	C:让个*个*个+十*十*十+百*百*百的和该数据比较
		如果相同,就把该数据在控制台输出。

class ForDemo6{
	public static void main(String[] args){
		//三位数其实是告诉我们范围
		for(int x = 100;x <= 999;x++){
			int ge = x % 10;
			int shi = x / 10 % 10;
			int bai = x/10 / 10 % 10;
			if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)){
				System.out.println(x);
			}
		}
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42322406/article/details/89479347