Java学习——打印1-1000以内的水仙花数

Java学习——打印1-1000以内的水仙花数

水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33 + 73 +03;371=33 + 73 +13,所以370、371就是一个水仙花数
注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位
public class MyTest {
    public static void main(String[] args) {
/*        打印1-1000的水仙花数
        水仙花数:例如   153=1*1*1+5*5*5+3*3*3*/

        //定义标记,水仙花数起始值位0
        int count =0;
        //要找出1000以内的水仙花数,先要遍历其每个数字;因为水仙花数是三位数所以从100开始
        for (int i = 100; i < 1000; i++) {
            //取出个位
            int g = i%10;
            //取出十位
            int s = i/10%10;
            //取出百位
            int b = i/100;
            //判断每个位上的立方和是否等于它自己,如果是则打印出该数字
            if (g*g*g+s*s*s+b*b*b==i){
                //如果是水仙花数,count加一
                count++;
                System.out.println(i);
            }
        }
        System.out.println("1000以内水仙花数的个数:"+count);
    }
}

输出结果:
		153
		370
		371
		407
		1000以内水仙花数的个数:4

猜你喜欢

转载自blog.csdn.net/qq_43411550/article/details/88955327