Cod sursa(job #2336436)

Utilizator traiandobrinDobrin Traian traiandobrin Data 5 februarie 2019 09:31:01
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <cmath>
using namespace std;
long long cat0(long long n)
{   long long c=0,p5=5;
    while(n>=p5)
    {
        c+=n/p5;
        p5*=5;
    }
    return c;
}
long long cbin(long long p)
{
    long long msk,pos=0;
    for(msk=1<<30;msk>0;msk/=2)
    {
        if(cat0(msk+pos)<=p)
        pos+=msk;
    }
    if(cat0(pos)==p){ while(cat0(pos)==p)pos--;
    return pos+1;
    }
    else
    return -1;
}
ifstream cin("fact.in");
ofstream cout("fact.out");
int main()
{
    long long sg,c5,p,i,c=0;
    cin>>p;
    if(p==0){
    cout<<1;
    return 0;}
    else
    cout<<cbin(p);

    return 0;
}