Cod sursa(job #2683656)

Utilizator TudorNMnegoita tudor mihai TudorNM Data 11 decembrie 2020 21:28:50
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <cstdio>

using namespace std;

long long f(long long x)///returneaza nr de zerouri ale lui x!
{
    long long i=5,rez=0;
    while(i<=x)
    {
        rez=rez+x/i;
        i=i*5;
    }
    return rez;
}

int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    long long p,s,d,mij,rez,r=-1;
    cin>>p;
    if(p!=0)
    {
        d=p*5;
        s=1;
        while(s<=d)
        {
            mij=(s+d)/2;
            if(f(mij)>p)
                d=mij-1;
            if(f(mij)<p)
                s=mij+1;
            if(f(mij)==p)
            {
                r=mij;
                d=mij-1;
            }
        }
        cout<<r;
    }
    else
        cout<<1;
    return 0;
}