杭电多校 1001 Add More Zero 题解报告

昨天去参加了杭电多校联赛第一场
题目难度对我来说 我觉得还是有点难的 只A了四题
这是杭电多校第一场的排行榜 第一名的清华AK 第二名北大 第三名是南京外国语学校
http://acm.hdu.edu.cn/contests/contest_show.php?cid=759
不多说废话了 第一题是签到题
题目意思很简单
杭电多校 1001 Add More Zero 题解报告_第1张图片
杭电多校 1001 Add More Zero 题解报告_第2张图片

题目意思是说: 输入m
然后2^m-1这个数让你在1到10^k之间能找到 然后找到最大的K
这题数据范围很大 直接乘肯定是不行的
然后仔细观察会发现
这里写图片描述

下面上代码

#include 
#include 
int solve(int m)
{
    int ret = (int)floor(m * log10((long double)2));
    return ret;
}
int main()
{
    for(int Case = 1, m; scanf("%d", &m) == 1; ++Case)
        printf("Case #%d: %d\n", Case, solve(m));
    return 0;
}

第一题不难 找一下规律就出来了

你可能感兴趣的:(杭电多校联赛Contest,1,报告,算法)