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之內的所有水仙花數。

  1. import java.util.*;
  2.  
  3. public class Java_Ch6_HW2
  4. {
  5.  
  6. public static void main(String[] args)
  7. {
  8. // TODO 自動產生的方法 Stub
  9. Scanner scan = new Scanner(System.in);
  10. System.out.print("請輸入兩數:");
  11. int num1 = scan.nextInt(), num2 = scan.nextInt();
  12. for (int i = num1; i <= num2; i++)
  13. if (compute(i))
  14. System.out.println(i);
  15. }
  16.  
  17. public static boolean compute(int num)
  18. {
  19. String str = String.valueOf(num);
  20. int total = 0, length = str.length();
  21. for (int i = 0; i < str.length(); i++)
  22. total += Math.pow(Integer.parseInt(Character.toString(str.charAt(i))), length);
  23. return total == num ? true : false;
  24.  
  25. }
  26.  
  27. }
  28.  

留言

這個網誌中的熱門文章

C# 井字遊戲