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到展示页面的全流程是怎么样的?
使用js实现数组的冒泡排序
北京有一条1公里长的街道,你认为一天能收多少钱的停车费?
怎么理解产品经理与技术研发之间的关系?
帖子还没人回复快来抢沙发