Pagini recente » Monitorul de evaluare | Cod sursa (job #1133249) | Cod sursa (job #2021449) | Cod sursa (job #1307556) | Cod sursa (job #1268629)
#include <iostream>
#include<fstream>
using namespace std;
int p;
int f(int n)
{int k=0,j=5;
while(j<=n)
{k=k+n/j;
j=j*5;
}
return k;
}
int cb(int st, int dr)
{if(st>dr)
return -1;
int m=(st+dr)/2;
int a;
if(f(m)<p)
return cb(m+1,dr);
else
if(f(m)>p)
return cb(st,m-1);
else
{while(m%5!=0)
m--;
if(m==0)
return -1;
return m;
}
}
int main()
{int a;
int n=1,x;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
if(p==0)
g<<"1";
else
g<<cb(1,2000000000);
g<<endl;
return 0;
}