Cod sursa(job #1967717)

Utilizator GodSlayerTabara Emanuel GodSlayer Data 16 aprilie 2017 23:32:24
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p;
long long zero(int x)
{
    long long pw=5;
    long long s=0;
    while(pw<=x)
    {
         s=s+x/pw;
         pw=pw*5;
    }
    return s;

}

int main()
{
    fin>>p;
    if(p==0)
       {
            fout<<1;
            return 0;
       }

    int st=1;
    int dr=1000000000;
    long long z;
    long long mijl;
    while(st<=dr)
    {
        mijl=(st+dr)/2;
        z=zero(mijl);
        if(z>=p)
        {

            if(z==p && mijl%5==0)
                {
                    fout<<mijl;
                    return 0;
                }
                else
                dr=mijl-1;
        }
        else
            st=mijl+1;

    }
    if(z==p)
        fout<<mijl;
    else
        fout<<"-1";

       return 0;
}