二进制中1的个数有更优的解法,但是还是显示AC 0% #include <iostream> using namespace std; int DecSum(int i) { int sum = 0; while (i) { sum = sum + i % 10; i /= 10; } return sum; } int BinSum(int i) { int count = 0; while (i) { if (i & 1) count++; i = i >> 1; } return count; } int getRt(int i) { int num = 0; for (int index = 1; index <= i; index++) { if (BinSum(index) == DecSum(index)) { num++; } } return num; } int main() { int input = 0; while (cin>>input) { int rt = getRt(input); cout << rt << endl; } return 0; }
点赞 评论

相关推荐

11-25 22:06
已编辑
华为 2012基座大模型(预研) 15A 硕士985
点赞 评论 收藏
分享
10-29 19:42
门头沟学院 Java
点赞 评论 收藏
分享
浩浩没烦恼:一二面加起来才一个小时? 我一面就一个小时多了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务