Java-----史上最详细打印水仙花详解

水仙花:是指一个三位数,其百位立方+十位立方+个位立方的和等于该数。

比如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

第一种方法:


public class test01 {
    public static void main(String[] args) {

        int i, j, k;//分别表示百位、十位、各位
        for (int a = 100; a <= 999; a++) {
            i = a / 100;
            j = (a - i * 100) / 10;
            k = a - i * 100 - j * 10;
            sum = i * i * i + j * j * j + k * k * k;
            
            //如果遇到高次的话可以使用循环算出来
            if (sum == a) {
                System.out.println(sum);
            }
        }
    }
}

第二种方法:

public class shuixianhua {
    public static void main(String[] args) {
        int sum =0;

        //外循环i 表示百位
        for(int i =1;i<=9;i++){

            //第二层循环j 表示十位
            for(int j =0;j<=9;j++){

                //第三层循环k 表示个位
                for(int k =0;k<=9;k++){

                    sum=i*i*i+j*j*j+k*k*k;
                    if(i*100+j*10+k == sum){
                        System.out.println(sum);
                    }
                }
            }
        }
    }
}

你可能感兴趣的:(Java,java,开发语言,算法)