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在二进制里是右移一位)
帖子还没人回复快来抢沙发
请写出以下代码执行输出:(构造函数、静态块执行顺序)
一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数是多少?
小程序没有分享到朋友圈的功能,但是产品为了推广,需要曲线实现这个功能,请给出设计方案?
cookies,sessionStorage 和 localStorage 的区别?
帖子还没人回复快来抢沙发