题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=46
这里用到的是快速幂,快速幂是logn的,很好的算法!
#include <iostream>
#include <cstdio>
using namespace std;
int Quick_Mod(int b, int num)
{
while(b)
{
if(b&1)
num++, --b;
else
num++, b = b >> 1;
}
return num;
}
int main()
{
int T, num, a;
scanf("%d", &T);
while(T--)
{
scanf("%d", &a);
num = Quick_Mod(a, 0);
printf("%d\n", num-1);
}
return 0;
}