//没有本地的源码,就说下思路吧:使用短除法的思想,对A进行短除法直到A变成比a大的最小的数,保存每一步的余数。最后的结果就是短除法的次数+余数是1的次数+最后一次短除法得到的数-a。 vector<int>reste; int cont=0; int Atem=A; while(A>a&&A/2>a){ reste.push_back(A%2);   A/=2;   cont++; } cont+=A-a; for(auto val:reste)   if(val==1)   cont++; cout<<cont;
点赞 3

相关推荐

拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
小红书 后端开发 总包n+8w+期权
点赞 评论 收藏
分享
牛客网
牛客企业服务