Pagini recente » Cod sursa (job #2968914) | Cod sursa (job #1624740) | Cod sursa (job #3201901) | Cod sursa (job #1941639) | Cod sursa (job #1587350)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int c,lt,rt,p,n,s,x;
bool t=false;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
if(p==0) g<<"1";
else{
rt=p*5;
lt=0;
while(rt-lt!=5)
{
c=(lt+(rt-lt)/2)/5;
c*=5;
x=1;
s=0;
n=0;
while(x*5<=c)
{
s++;
x*=5;
}
x=1;
for(int i=1;i<=s;++i)
{
x*=5;
n+=(c/x);
}
if(n<p) lt=c;
else if(n>p) rt=c;
else {t=true; break;}
}
if(!t)
{
c=rt;
x=1;
s=0;
n=0;
while(x*5<=c)
{
s++;
x*=5;
}
x=1;
for(int i=1;i<=s;++i)
{
x*=5;
n+=(c/x);
}
if(n==p) t=true;
}
if(t) g<<c;
else g<<"-1";
}
}