1. 程式人生 > >java:E201_06_01_輸出所有水仙花數

java:E201_06_01_輸出所有水仙花數

題目要求:如題。

解題思路:

  1. 首先設一個函式功能就是判斷輸入的數是否是水仙花數
  2. 套一個迴圈在這個函式上功能是遍歷所有的三位數
  3. 進入函式編寫與之前寫的程式碼類似就是做出小改動比如返回值的巧妙取捨
  4. 返回0 不是,返回i則是水仙花數並輸出
    public class E201_06_01_輸出所有水仙花數 {
        public static void main(String[] args) {
            for (int i = 100; i <=999 ; i++) {
                if (printNum(i) != 0) { //輸出水仙花數
                    System.out.printf("水仙花數:%d\n",printNum(i));
                }
            }
        }
        /**
         * 判斷傳進來的數是否是 水仙花數
         * @param i 100-999的數
         * @return i-是水仙花數 / 0-不是
         */
        private static int printNum(int i) {
            int firstNum = i / 100;
            int secondNum = i / 10 % 10;
            int thirdNum = i % 10;
            if (firstNum * firstNum * firstNum + secondNum * secondNum * secondNum + thirdNum * thirdNum * thirdNum == i){
                return i;
            }
            return 0;
        }
    }
    

水仙花數:153 水仙花數:370 水仙花數:371 水仙花數:407