您的位置:首页 > 其它

你好 世界!(Uva 11636)

2018-03-14 23:07 190 查看
也是贪心……如果n是2的幂次方,那么就需要log2(n)次,由于可以之复制/粘贴一部分,所以当n不是2的幂次方,那么就找小于n的幂次方,对应+1即可!#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k=0;
while(scanf("%d",&n)==1&&n>=0)
{
printf("Case %d: ",++k);
if(n==1)
printf("0\n");
else
{
int m=log10(n*1.0)/log10(2.0);
if(n&(n-1))
printf("%d\n",m+1);
else printf("%d\n",m);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: