其实就是二进制数()题目没规定输出的顺序,所以就直接二进制最低位为a,每移动一位就ascll码+1。
对应二进制位为1,则把该字母加入答案。
例如二进制10011,对应的就是eba
用python的话可以三行解决
ord()是返回对应的ASCII码值,chr()是将字符的 ASCII 值转换回字符
通过 chr(ord('a') + i)
可以生成基于偏移量的字符。
x = int(input()) ans = ''.join(chr(ord('a')+i) for i in range(26) if x & (1 << i)) print(ans)