Java使用for循环输出所有的水仙花数

水仙花数是指一个 3 位数(100~999),它的每个位上的数字的 3次幂之和等于它本身。

例如:153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 +27 = 153

            (个位的三次方 + 十位的三次方 + 百位的三次方 = 本身)

 

思路:

          (1)首先,范围在100~999

          (2)再者,获取数字的个、十、百位

                    例如:153

                              个位:  3 = 153%10                                153取余10等于3

                              十位:  5 = (153/10)%10                        153除以10再取余10等于5 

                               百位: 1 = (153/10/10)%10                   153除以100再取余10等于1

         (3)最后,求个、十、百位的立方和,与本身比较

//输出所有的水仙花数
		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 + "是一个水仙花数。");
		    }
		}

 

你可能感兴趣的:(Java)