一道平平无奇的算法题
进制转换类算法题
题目链接
题目意思翻译
没有奇数的数组就是好数,比如0,2,4,6,8,20,24,26,28
等等等等。
而题目要我们输出的就是第N个好数。
题目思路
看到这道题,我想到了前几年的校赛题目 6 ⑥ 陆 VI six (char)(54) ,这道题目和C题思路一致,都是进制转换类题目,校赛C题是少了个6,十进制转换为九进制,而这道题目思路则是十进制转换为五进制
转换为五进制在乘2即可得到正确结果,注意个位要进行特判,各位的1
代表0
,而其他位的1
代表着2
代码
python版本
a=int(input())
res=''
res=str((a%5-1)*2) if not a%5==0 else '8'
if a%5==0:
a-=5
a=a//5
while a>0:
res=str((a%5)*2)+res
a=int(a//5)
print(res)