Java_CH6_HW2



設有自然數n,d為該自然數各位數字,即 n = dkdk-1...d1 ,則有:

n = dk·10k-1 + dk-1·10k-2 + ... + d2·10 + d1,


如果該自然數n滿足條件:

n = dkk + dk-1k + ... + d2k + d1k.




則這個自然數就被稱為超完全數字不變數。 例如153、370、371及407就是三位超完全數字不變數,其各個數之立方和等於該數:

153 = 13 + 53 + 33。

370 = 33 + 73 + 03。

371 = 33 + 73 + 13。

407 = 43 + 03 + 73。

請設計一程式,輸入 : 100 999 ,輸出:所有100到999之內的所有水仙花數。

import java.util.*;

public class Java_Ch6_HW2
{

 public static void main(String[] args)
 {
  // TODO 自動產生的方法 Stub
  Scanner scan = new Scanner(System.in);
  System.out.print("請輸入兩數:");
  int num1 = scan.nextInt(), num2 = scan.nextInt();
  for (int i = num1; i <= num2; i++)
   if (compute(i))
    System.out.println(i);
 }

 public static boolean compute(int num)
 {
  String str = String.valueOf(num);
  int total = 0, length = str.length();
  for (int i = 0; i < str.length(); i++)
   total += Math.pow(Integer.parseInt(Character.toString(str.charAt(i))), length);
  return total == num ? true : false;

 }

}


留言

這個網誌中的熱門文章

UVA 11321 Java