题意分析
给定一个数列:
k0,k1,k0+k1k^0,k^1,k^0+k^1k0,k1,k0+k1……,求该数列第 nnn 项。
史上最简单的绿题之一
解题思路
观察题目,容易发现在数列的同一项中每个幂都只会出现至多一次,非 000 即 111,可以考虑用二进制表示。
进一步验证猜想:将某项是否有 303^030 表示为该项二进制编号的最后一位,313^131 表示为倒数第二位,以此类推,可以将数列编号为:
1,10,11,100,101,110,1111,10,11,100,101,110,1111,10,11,100,101,110,111……
可见,二进制转化为十进制正好是项数,可以通过项数的二进制得知该项是由 kkk 的哪些幂组成的,从而求出数列某项!
AC代码