Pagini recente » Cod sursa (job #334495) | Cod sursa (job #1114110) | Cod sursa (job #1591180) | Cod sursa (job #411842) | Cod sursa (job #1140521)
#include<fstream>
#include<climits>
using namespace std;
int multiplicitate(int x)
{
int p=5,s=0;
while(x/p)
{
s+=x/p;
p*=5;
}
return s;
}
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
int st,dr,mij=0,p; bool ok=0;
f>>p;
st=1,dr=INT_MAX-1;
while(st<=dr&&!ok)
{
mij=(st+dr)/2;
if(multiplicitate(mij)==p)
{
while(multiplicitate(mij)==p&&mij>0) mij--;ok=1;
}
else
{
if(multiplicitate(mij)<p) st=mij+1;
else dr=mij-1;
}
}
if(ok) g<<(mij+1)<<'\n';
else g<<-1<<'\n';
g.close();
return 0;
}