题解:题目等价于求2^m-1在十进制下的长度-1,所以答案就是log10(2 ^ m - 1) 。由于2 ^ m 一定不等于10的某次幂,所以2^m 与2 ^ m - 1是同样的长度。所以答案应该为log10(2 ^ m - 1) = log10(2 ^m) = m * long(2) (向下取整)
代码如下:
#include <bits/stdc++.h>
using namespace std;
int n;
int main()
{
int kase = 0;
while(~scanf("%d",&n)){
printf("Case #%d: ",++kase);
printf("%d\n",int(n * 1.0 * log10(2)));
}
return 0;
}