打印出100-999所有的“水仙花数“,所谓“水仙花数“是指一个三位数, 其各位数字立方和等于该数本身。

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

  1. 范围100~999,说明要用循环进行范围查找。
  2. 各位数立方和等于该数本身,指的是水仙花数判断的标准,个位数的立方+十位数的立方+百位数的立方的和等于该数字,例如153,个位数3的三次方+十位数5的立方+百位数1的立方,相当于153=27+125+1

有了上面的解题思路那就可以解题了。

 public class Example03 {
    public static void main(String[] args) {
        for (int n = 100; n <= 999; n++) { //循环遍历范围100-999的数字
            int i = n % 10; //个位数
            int j = n / 10 % 10; //十位数
            int k = n / 100 % 10; //百位数
            int num = (int) Math.pow(i, 3); //Math.pow(底数,几次方) 也就是说该数为i的3次方
            int num2 = (int) Math.pow(j, 3);
            int num3 = (int) Math.pow(k, 3);
            if (n == num + num2 + num3) {
                System.out.println(" " + n);
            }
        }
    }
}

运行结果:
打印出100-999所有的“水仙花数“,所谓“水仙花数“是指一个三位数, 其各位数字立方和等于该数本身。

上一篇:filter+transition实现点亮图片效果


下一篇:实验2-4-6 求幂之和 (15 分)