题意
输入m
输出2m的位数-1
设2m=10a+b,其中a是整数,b是小数.那么a就是2m的位数-1
两边同时取对数
log102m=log1010a+b
m∗log102=(a+b)∗log1010
⌊m∗log102⌋=a
code:
#include<cstdio>
#include<cmath>
int main()
{
double lg=log10(2.00000);
int kase=1;
double m;
int res=0;
while(scanf("%lf",&m)!=EOF)
{
res=(int )(m*lg);
printf("Case #%d: %d\n",kase++,res);
}
return 0;
}