![在这里插入图片描述](https://img-blog.csdnimg.cn/20190605160114271.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x4eV96elo=,size_16,color_FFFFFF,t_70)
#include <iostream>
using namespace std;
int main()
{
int N = 0;
while(cin >> N)
{
int count = 0;
while(N)
{
if (N & 1 == 1)
count++;
N >>= 1;
}
cout << count << endl;
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190605160214353.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x4eV96elo=,size_16,color_FFFFFF,t_70)
class Gloves {
public:
int min(int a, int b)
{
if (a > b)
return b;
return a;
}
int findMinimum(int n, vector<int> left, vector<int> right) {
int sum = 0;
int lsum = 0;
int rsum = 0;
int lmin = 26;
int rmin = 26;
for (int i = 0; i < n; ++i)
{
if (left[i] * right[i] == 0)
sum = left[i] + right[i] + sum;
else
{
lsum += left[i];
rsum += right[i];
lmin = min(lmin, left[i]);
rmin = min(rmin, right[i]);
}
}
return (sum + min(lsum - lmin +1, rsum - rmin + 1) + 1);
}
};