Cod sursa(job #1737460)

Utilizator florin.moldovanuFlorin M florin.moldovanu Data 4 august 2016 10:18:53
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long zero(long long x)
{
    long long nr=0,q;
    q=5;
   while(q<=x)
   {
       nr=nr+x/q;
       q=q*5;
   }
    return nr;
}
long long cb(long long i, long j, long long p)
{
    long long m;   long long x;
    while(i<j)
    {
        m=(i+j)/2;

        x=zero(m);
        if(x==p)
        { while(m%5!=0)
           m--;
            return m;
        }
        else
            if(x<p)
             i=m+1;
        else
            j=m-1;
    }
    return -1;
}

int main()
{
    long p, nr=0, i,x;
    fin>>p;
    if(p==0)
    {
    fout<<1;
    return 0;
    }
    fout<<cb(1,p*1000,p);
    return 0;
}