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; } }
留言
張貼留言