練習 - Specialized Four Digit Numbers

Specialized Four Digit Numbers

題目:所有的十進位四位整數裹,如轉換成十進位、十二進位和十六進位的數字加起來均相等,列出這個整數數值。

輸入:沒有輸入值。

輸出:列出所有十進位的四位整數裹,轉換十進位、十二進位和十六進位後的數字加起來相等的整數數值。


public class SpecializedFourDigitNumbers {

	public final static int min = 1000;
	public final static int max = 9999;
	
	public static int calc(int k, int b){ //轉換不同進位的函數
		String hexstr = Integer.toString(k, b);
		int sum = 0;
		for(int i = 0; i < hexstr.length(); i++){
			sum += Integer.parseInt(hexstr.substring(i, i + 1), b); //計算該整數內各數字的總和
		}
		return sum;
	}
	
	public static void main(String[] args) {
		for(int i = min; i < max; i++){
			if(calc(i, 10) == calc(i, 12) && calc(i, 10) == calc(i, 16)){
				System.out.println(i);
			}
		}
	}
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*

驗證碼 * Time limit is exhausted. Please reload CAPTCHA.

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料