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);
}
}
}
}
鏈結到這頁!