zoukankan      html  css  js  c++  java
  • LightOJ 1138 Trailing Zeroes (III)(二分 + 思维)

    http://lightoj.com/volume_showproblem.php?problem=1138

    Trailing Zeroes (III)
    Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu

    Description

    You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in decimal notation. As you know N! = 1*2*...*N. For example, 5! = 120, 120 contains one zero on the trail.

    Input

    Input starts with an integer T (≤ 10000), denoting the number of test cases.

    Each case contains an integer Q (1 ≤ Q ≤ 108) in a line.

    Output

    For each case, print the case number and N. If no solution is found then print 'impossible'.

    Sample Input

    3

    1

    2

    5

    Sample Output

    Case 1: 5

    Case 2: 10

    Case 3: impossible

    求最小的N使N!中0的个数等于q

    0是有5乘4、2、8等等构成的,N中只要有因子5,那么N!中一定能构成0,所以我们只需要找N中因子5的个数,然后用二分来快速查找N

    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    #include<stdlib.h>
    #include<algorithm>
    
    using namespace std;
    typedef long long ll;
    
    ll solve(ll n)
    {
        ll ans = 0;
        while(n)
        {
            ans += n / 5;
            n /= 5;
        }
        return ans;
    }//求n中因子5的个数
    
    int main()
    {
        int t, p = 0;
        ll q;
        scanf("%d", &t);
        while(t--)
        {
            p++;
            scanf("%lld", &q);
            ll low = 4, high = 500000000;
            while(low <= high)
            {
                ll mid = (low + high) / 2;
                ll m = solve(mid);
                if(m < q)
                    low = mid + 1;
                else
                    high = mid - 1;
            }//二分
            if(solve(low) == q)
                printf("Case %d: %lld
    ", p, low);
            else
                printf("Case %d: impossible
    ", p);
        }
        return 0;
    }
  • 相关阅读:
    in exists
    oracle 12514文件解决
    oracle11g自动内存管理
    lvs为何不能完全替代DNS轮询
    druid安装
    macbook 安装win7
    GBT MBR
    python的文件操作
    zabbix简易安装指南
    zatree的安装
  • 原文地址:https://www.cnblogs.com/qq2424260747/p/4950115.html
Copyright © 2011-2022 走看看