• 2017多校合练1


    题目

    原题链接
    Add More Zero

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

    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 (2m−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 10k (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≤m≤105.

    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

    Statistic | Submit | Clarifications | Back

    题意:问2^m-1有几位…

    思路:你会发现-1只有在 10的倍数时候位数才会发生变化 10-1 = 9, 100-1, 1000-1…2^m不可能出现这种数这里写链接内容,所以只考虑2^m有几位就好了…就是10的几次方, 取个log10, 答案就是m×log2;

    代码

    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<iostream>
    #include<queue>
    #include<map>
    #include<math.h>
    #include<set>
    #include<stack>
    #define ll long long
    #define pb push_back
    #define max(x,y) ((x)>(y)?(x):(y))
    #define min(x,y) ((x)>(y)?(y):(x))
    #define cls(name,x) memset(name,x,sizeof(name))
    using namespace std;
    const int maxn=10e5+10;
    
    
    
    int main()
    {
        ll m;
        ll las=0;
        while(cin>>m)
        {
            ll k=(ll)m*log10(2);
            cout<<"Case #"<<++las<<": "<<k<<endl;
        }
        return 0;
    }
    
  • 相关阅读:
    bind智能DNS + bindUI管理系统(mysql + bind dlz)
    什么情况下,英文单词中的k发音变g,t发音变d,p发音变b
    rsyn同步软链接保持不变
    yaml,json,ini这三种格式用来做配置文件优缺点
    自动挡车档位介绍
    "挡位"还是"档位",究竟谁错了
    Gitlab备份与恢复、迁移与升级
    树的名称大全
    手动档正确换档手势
    gitlab HA集群
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387452.html
Copyright © 2020-2023  润新知