问题
https://vjudge.net/problem/UVA-11636
分析
对n取对数,然后进行ceil向上取整,为了使得ans[8]=3,对n减去0.1再log
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <map>
#include <string>
#include <vector>
using namespace std;
typedef long long LL;
const int maxn=10000+5;
int ans[maxn],n,kase=0;
int main(void){
for(int i=1;i<maxn;++i){
ans[i]=ceil(log(i-0.1)/log(2));
}
while(scanf("%d",&n)==1 && n>0){
printf("Case %d: %d\n",++kase,ans[n]);
}
}