一直找不到好的题去做...于是想到了srm...回来补题...QAQ
从srm01补起
A
题意:n个数,排成一列,刚开始都是1,如果左右相等就可以合并,问最后的数列长什么样。
思路:比赛的时候直接敲了个 一直log2 直到为0,觉得应该是100的...于是炸到了90.
比完赛懒得调就没去理,回来补的时候发现是p的trunc有点问题哇...以后都打成trunc(x+0.000001) 出错率会低一点QAQ
1 var n,s:longint; 2 begin 3 read(n); 4 repeat 5 s:=trunc(ln(n)/ln(2)+0.00001); 6 write(s+1,' '); 7 n:=n-(1 << s); 8 until n=0; 9 end.