http://acm.fzu.edu.cn/problem.php?pid=2062
题目大意:
给你一个数n,要求求出用多少个数字可以表示1~n的所有数。
思路:
分解为二进制。
对于一个数n,看它二进制有多少位即可。
#include<cstdio>
int main()
{
int n;
while(~scanf("%d",&n))
{
int k=0;
while(n)
{
n>>=1;
k++;
}
printf("%d\n",k);
}
return 0;
}