找数字,最小的十六进制
问题描述
请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。
请将这个数的十进制形式作为答案提交。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
//请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)
int main()
{
int n = 2022;
while (1)
{
n++;
int temp = n;
int flag = 1;
while (temp)
{
int t = temp % 16;
if (t >= 10 && t <= 15)
{
temp /= 16;
}
else
{
flag = 0;
break;
}
}
if (flag)
{
cout << n << endl;
break;
}
}
return 0;
}
//下面是以上代码的解释
//1.首先我们要知道,十六进制的数位有 0-9 和 A-F 共 16 个数位,所以我们要找的数必须大于 2022,因为 2022 的十六进制是 7E6,而 7E6 中的数位都是 0-9
//2.我们可以用一个循环来找到大于 2022 的数,然后判断这个数的十六进制数位是否都是 A-F
//3.我们可以用一个循环来判断一个数的十六进制数位是否都是 A-F,我们可以用一个变量 temp 来保存这个数,然后用一个循环来判断 temp 的每一位是否都是 A-F
//4.我们可以用一个循环来判断一个数的每一位是否都是 A-F,我们可以用一个变量 t 来保存 temp 的每一位,然后判断 t 是否是 A-F
Tech Otakus Save the World

浙公网安备 33010602011771号