首頁 > 其他

如何用Java輸出所有四葉玫瑰數

2019-12-10 17:08:02

四位數各位上的數位的四次方之和等於本身為四葉玫瑰數。是指一個 四位數 ( n=4),它的每個位上的數位的 n 次冪之和等於它本身。

(例如:1^4 + 6^4+ 3^4 + 4^4= 1634)


1

首先,先要了解這個數的要求,這樣才能準確選擇使用什麼方式、方法甚至演算法來求得這個數。四葉玫瑰數,是指一個 四位數 ( n=4),它的每個位上的數位的 n 次冪之和等於它本身。

(例如:1^4 + 6^4+ 3^4 + 4^4= 1634)


2

建立工程,或使用已有工程,在工程下建立包,包內新建一個類,我命名為FourLeafRoses類,大家根據自己喜好隨便命名,但請保持類名與檔案名一致。


3

先寫一個函數計算一個數位的四次方為多少。我命名為fours()

private static int fours(int n) {

  return n * n * n * n;

}


4

判斷這個數是不是水仙花數,求每一位數上的數的四次方和是否為原數位本身。

private static Boolean isFourLeafRoses(int number) {

  int thousands = number / 1000;

  int hundreds = number / 100 - thousands * 10;

  int tens = number / 10 - hundreds * 10 - thousands * 100;

  int ones = number % 10;

  return fours(thousands) + fours(hundreds) 

        + fours(tens) + fours(ones) == number;

}


5

寫一個for迴圈來判斷那些數位是四葉玫瑰數,並輸出。

System.out.println("FourLeafRoses:");

for (int index = 1000; index < 10000; ++index) {

  if (isFourLeafRoses(index))

    System.out.print(index + "t");

}



IT145.com E-mail:sddin#qq.com