Description
Input
Output
Sample Input
1 5
题意: 一个数的二进制表示下,被0分割开的1有多少组 (如10100111 三组)
#include <iostream> #include <string> #include <map> #include <stdio.h> #include <algorithm> using namespace std; int main() { int T,c; __int64 N; scanf("%d",&T); for(int i=0; i<T; i++) { __int64 num=0; c=0; scanf("%I64d",&N); int n=0; while(N) { if(c==0&&(N&1)) { num++; c=1; } if((N&1)==0) { c=0; } N=N/2; } printf("%I64d\n",num); } return 0; }