flip
2013-11-24 20:54
155 查看
#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 ); } }
相关文章推荐
- 最短路径 (Dijkstra算法)
- HDU 1299 Diophantus of Alexandria
- myeclipse中,copy项目后,访问总是404的解决办法
- cat命令
- POJ 2449Remmarguts' Date (A* 求K短路)
- java学习之路---IO类----字节流
- 诫子书--摘抄
- <转>常规测试方法
- linux下配置JAVA常用的编程环境
- SqlServer2005内存分配
- 2013-2014集训之DP
- cookie带来的致命危险
- 昂达V971四核测评
- 各类 HTTP 返回状态代码详解
- IBM 服务器硬盘只亮黄灯解决方法
- java学习14-面向对象(abstract抽象类)
- 词干提取(stemming)和词形还原(lemmatization)
- CF round167 Div1 C Dima and Horses
- <转>如何测试一个杯子
- 数据结构实验四-赫夫曼编码