题目:BZOJ1192
题目大意:略,见原题。
思路:求出比$n$大的最小的$2^k-1$的数的\(k\)。设$2^k=m$,则$k=\log_2 m$,如有多则进1。
C++ Code:
#include<cstdio>
#include<cmath>
int main(){
int n;
scanf("%d",&n);
printf("%d\n",(int)log2(n)+1);
return 0;
}
题目:BZOJ1192
题目大意:略,见原题。
思路:求出比$n$大的最小的$2^k-1$的数的\(k\)。设$2^k=m$,则$k=\log_2 m$,如有多则进1。
C++ Code:
#include<cstdio>
#include<cmath>
int main(){
int n;
scanf("%d",&n);
printf("%d\n",(int)log2(n)+1);
return 0;
}
上一篇: 牛客 - 二分(差分)
下一篇: C语言 二分查找