hdu 多校联赛 Add More Zero

来源:互联网 发布:姚明和奥尼尔对决数据 编辑:程序博客网 时间:2024/06/05 02:31

Add More Zero

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 1121    Accepted Submission(s): 749


Problem Description
There is a youngster known for amateur propositions concerning several mathematical hard problems.

Nowadays, he is preparing a thought-provoking problem on a specific type of supercomputer which has ability to support calculations of integers between $0$ and $(2^m - 1)$ (inclusive).

As a young man born with ten fingers, he loves the powers of $10$ so much, which results in his eccentricity that he always ranges integers he would like to use from $1$ to $10^k$ (inclusive).

For the sake of processing, all integers he would use possibly in this interesting problem ought to be as computable as this supercomputer could.

Given the positive integer $m$, your task is to determine maximum possible integer $k$ that is suitable for the specific supercomputer.
 

Input
The input contains multiple test cases. Each test case in one line contains only one positive integer $m$, satisfying $1 \leq m \leq 10^5$.
 

Output
For each test case, output "Case #$x$: $y$" in one line (without quotes), where $x$ indicates the case number starting from $1$ and $y$ denotes the answer of corresponding case.
 

Sample Input
164
 

Sample Output
Case #1: 0Case #2: 19
 

Source
2017 Multi-University Training Contest - Team 1
 

Recommend
liuyiding
题意:给出n 求2的n次方 求这个数科学计数法之后是乘以10的独傲少次方 
这道题其实没有什么难度 就是一个简单的指数转对数 可是我也还是暴力错了两次 因为n的最大值为100000 而且自己测试的时候用时根本不到1秒 感觉并不会超时 后来发现原来有这种更简单的方法 把暴力的o(n)变成o(1) 怀疑hdu后台的时间根本就不是1s…… 而最快的解法只需要用n*log2就可以 
ac代码:
    #include<iostream>      #include<cstdio>      using namespace std;      int main()      {          double a=0.301029995663;  //log2的值        int m;          int l=0;          while(scanf("%d",&m)!=EOF)          {              l++;              cout<<"Case #"<<l<<": "<<(int)(m*a)<<endl;          }          return 0;      }  




 
原创粉丝点击