Cod sursa(job #2336428)

Utilizator traiandobrinDobrin Traian traiandobrin Data 5 februarie 2019 09:26:48
Problema Factorial Scor 25
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <cmath>
using namespace std;
int cat0(long long n)
{   int c=0,p5=5;
    while(n>=p5)
    {
        c+=n/p5;
        p5*=5;
    }
    return c;
}
long long cbin(long long p)
{
    int msk,pos=0;
    for(msk=1<<20;msk>0;msk/=2)
    {
        if(cat0(msk+pos)<=p)
        pos+=msk;
    }
    if(cat0(pos)==p)
    return pos-pos%5;
    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;
}