flip

来源:互联网 发布:机器人总动员知乎 编辑:程序博客网 时间:2024/06/05 04:12
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;const int maxn = 105;int num1[ maxn ], num2[ maxn ];void Fun( int n, int a[], int &k ){k = 0;while( n ){a[ k++ ] = n % 2;n /= 2;}}int main(){int Case, n, k1, k2, len;cin >> Case;while( Case-- ){cin >> n;memset( num1, 0, sizeof( num1 ) );memset( num2, 0, sizeof( num2 ) );int ans = 0;Fun( n, num1, k1 );Fun( n + 1, num2, k2 );len = max( k1, k2 );for( int i = 0; i <= len; ++i ){if( num1[ i ] != num2[ i ] ){ans++;}}printf( "%d\n", ans );}}