hdu 多校联赛 Add More Zero

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
  
  
1 64
 

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

Source
 

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;  
    }  




 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值