Pagini recente » Cod sursa (job #589543) | Cod sursa (job #159780) | Istoria paginii runda/o_gandim_intens | Profil Gabi_Laza | Cod sursa (job #1460156)
#include <iostream>
#include <fstream>
//http://www.infoarena.ro/problema/fact
using namespace std;
ifstream in("fact.in");
ofstream fout("fact.out");
long long int nrz(long long int m)
{
long long int d=5,s=0;
while(m/d>0)
{s=s+m/d;
d=d*5;}
return s;
}
int main()
{
long long p,c,st,dr,med,t=0;
st=0;
dr=1000000000;
in>>p;
while(st<=dr)
{
med=(st+dr)/2;
c=nrz(med);
if(c>p)dr=med-1;
if(c<p)st=med+1;
if(c==p&&p!=0){fout<<med-med%5;
t=1;break;}
if(p==0){fout<<1;break;}
//med=med-med%5 ca sa imi afiseze cel mai mic factorial care gaseste nr de zerouri.
}
if(t!=1&&p!=0)fout<<"-1";
return 0;
}