【题解】UVa P11636【Hello World!】

题意

求小于$N$的最大二次幂的指数,如果$N$不是一个二次幂,$N=N+1$。

分析

就是解不等式:$2^{N}>=ans$,此时$ans=\lceil \log_{2}{N} \rceil$。

代码

#include<cstdio>
#include<cmath>

int main(){
    int n,id = 1;
    while(scanf("%d",&n) == 1 && n > 0){
        int ans = ceil(log2(n));
        printf("Case %d: %d\n",id++,ans);

        ans = 0;
    }

    return 0;
}

发布者:Cinema

成功的道路并不狭窄,因为大部分人都在颓废。

留下评论

电子邮件地址不会被公开。 必填项已用*标注