Pagini recente » Cod sursa (job #3189514) | Cod sursa (job #2657443) | Cod sursa (job #2529732) | Cod sursa (job #215682) | Cod sursa (job #2832678)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
const int REZMAX=5e8;
int fact(int n)
{
int s=0,p=5;
while(p<=n)
{
s=s+n/p;
p=p*5;
}
return s;
}
int cautbin(int x)
{
int st=1,dr=REZMAX,poz=0,mij,ok=0,k;
while(st<=dr)
{
mij=(st+dr)/2;
k=fact(mij);
if(k>=x)
{
poz=mij;
dr=mij-1;
if(k==x)
ok=1;
}
else
st=mij+1;
}
if(ok)
return poz;
else
return -1;
}
int main()
{
int n;
fin>>n;
fout <<cautbin(n);
return 0;
}