n 从 1 开始,每个操作可以选择对 n 加 1,或者对 n 加倍。如果最后结果为 2013,最少 需要()个操作。
A.18
B.24
C.21
D.不可能
正确答案是 A
解析:
将2013转换为二进制为:10111011111;其中,1要做2次操作(减1和 除以2 ), 0要做1次操作( 除以2 ) ,最左边的1做0次操作(初始为1)。设1数量为x,0数量为y,则num = 2*(x-1)+y。(除以2在二进制里是右移一位)
帖子还没人回复快来抢沙发
从浏览器输入URL到展示页面的全流程是怎么样的?
请实现KMP算法?
什么是 Cookie?它的作用是什么?
ArrayList和LinkedList的区别,以及各自是怎么实现扩容的?
帖子还没人回复快来抢沙发