【每日一题】题目:
问题描述:
8518 是一个非常特殊的数,如果把这个数看成 16 进制数,它的值为 (8518)16=8161616+51616+116+8=34072,而 34072 正好是 8518 的整数倍。9558 也是这样一个数,当看成 16 进制时是 38232。其实长度为 1 的数 0 到 9 都满足看成 16 进制后是自己的整数倍(1倍)。请问,除开长度为 1 的数,最小的满足这样条件的数是多少?
解题思路:
根据题目先将这个16进制数转换成10进制数,之后将两者进行比较即可
代码实现:
public static void main(String[] args) {
for (int i = 10; i <8518 ; i++) {
int num = Integer.parseInt(String.valueOf(i),16);
int num1 = Integer.parseInt(String.valueOf(num));
if(num1 % i == 0) {
System.out.println(i);
break;
}
}
}
答案:
1038