BZOJ 1192 - 小学奥数?
就是\(2^i\)划分,直接算就行了。
#include <cstdio>
using namespace std;
int n, m, ans;
int main()
{
scanf("%d", &n)
ans=0; m=1;
while (n>0) {
ans++;
n-=m;
m<<=1;
}
printf("%d\n", ans);
}
就是\(2^i\)划分,直接算就行了。
#include <cstdio>
using namespace std;
int n, m, ans;
int main()
{
scanf("%d", &n)
ans=0; m=1;
while (n>0) {
ans++;
n-=m;
m<<=1;
}
printf("%d\n", ans);
}