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在二进制里是右移一位)
帖子还没人回复快来抢沙发
请写出以下代码执行输出:(构造函数、静态块执行顺序)
使用js实现数组的快速排序
叉树前序遍历的递归和非递归实现?
cookies,sessionStorage 和 localStorage 的区别?
帖子还没人回复快来抢沙发