问题描述
请找到一个大于 20222022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。
请将这个数的十进制形式作为答案提交。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
运行限制
最大运行时间:1s
最大运行内存: 256M
这道题我们可以从2022开始遍历,然后用hex()函数将数字转化为16进制,然后对十六进制进行切片,把前导0去掉,再用isalpha()函数来判断是否全部为字母
代码实现
for i in range(2022,10000):
if(hex(i)[1:].isalpha()):
print(i)
break
python通过调用内置函数hex()、bin()、oct()、int()这四种方式表示16进制、2进制、8进制、10进制来进行转换
Python中,字符串处理函数isalpha()的作用是检查一个字符串中所有的字符是否都是由字母构成的,并且至少有1个字符。如果字符串中所有的字符都是字母,则返回True,否则返回False.