Pagini recente » Cod sursa (job #2829222) | Cod sursa (job #2096057) | Cod sursa (job #2671320) | Cod sursa (job #2591472) | Cod sursa (job #287713)
Cod sursa(job #287713)
#include <fstream>
#include <math.h>
using namespace std;
#define dim 100000100
typedef long long tip;
tip a,b,c,p,i,fn;
bool ok=false;
ifstream ef("fact.in");
ofstream g("fact.out");
tip get(tip c)
{
tip k=0;
while(c>0)
{
k+=c/5;
c/=5;
}
return k;
}
int main()
{
ef>>p;
if(p==0)
{
g<<"1";
return 0;
}
a=1;
b=5*p;
c=(a+b)/2;
c=c-c%5;
while(a<c&&c<b&&a<b&&!ok)
{
fn=get(c); //get(c) returneaza zerourile pe care le are la sfarsit c!
if(fn==p)
{
ok=true;
i=c;
}
else if(fn<p)
a=c+1;
else
b=c-1;
c=(a+b)/2;
c=c-c%5;
}
if(ok)
g<<i;
else
g<<"-1";
return 0;
}