首頁 > 其他

如何用Java判斷水仙花數

2019-12-10 04:36:25

水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數位的 n 次冪之和等於它本身。

(例如:1^3 + 5^3+ 3^3 = 153)


1

首先,要了解什麼是水仙花數,這樣才能快速選擇是用什麼方式、方法,甚至演算法來解決問題。

水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數位的 n 次冪之和等於它本身。

(例如:1^3 + 5^3+ 3^3 = 153)


2

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


3

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

private static int cube(int n) {

  return n * n * n;

}


4

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

private static Boolean isNarcissistic(int number) {

  int hundreds = number / 100;

  int tens = number / 10 - hundreds * 10;

  int ones = number % 10;

  return cube(hundreds) + cube(tens) + cube(ones) == number;

}


5

寫一個for迴圈來判斷那些數位是水仙花數,並輸出。

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

  if (isNarcissistic(index))

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

}



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