此题自己模拟下就可以看出很明显的斐波那契数列的性质
证明的话可以想对于一个长度为n的数其后面n-2位的数是不定的 如果第n-2位为0那么可用情况是n-1位的情况如果为1 就为n-2位的情况。可以自己画出来就明白了、
然后用sum统计前面所有数的和。
那么输入n的情况下就知道长度有几位了
然后通过确定每个的长度就可以输出了。比方说:
n=20.那么长度为6 可以确定从高位第1位从低位第六位为1,然后n=n-sum【5】-1 此处-1是因为余下的情况我们要减去原来8位中第一位为1的情况。
n=7,可知 现在长度收缩为i位那么从低位往高位的第四位为1 那么现在确定了101***三位数字了。继续n-=sum【4】-1 得到收缩为2位 那么第2位为1
现在n==0 证明没得收缩了 所以最终为101010,很明显这是一个递推的过程。