#include<iostream> using namespace std; int n; int dfs(int n){return n == 1 ? 1 : dfs(n / 2) + 1;} int main() { while (cin >> n) cout << dfs(n) << endl; return 0; }
本文介绍了一个使用递归算法计算整数二进制表示下1的个数的C++程序。通过深度优先搜索的方式,该程序能够高效地计算出任意正整数的二进制位中1的数量。
#include<iostream> using namespace std; int n; int dfs(int n){return n == 1 ? 1 : dfs(n / 2) + 1;} int main() { while (cin >> n) cout << dfs(n) << endl; return 0; }
转载于:https://www.cnblogs.com/Commence/p/4072430.html
337
283

被折叠的 条评论
为什么被折叠?