Pagini recente » Monitorul de evaluare | Cod sursa (job #1804682) | Cod sursa (job #1804451) | Monitorul de evaluare | Cod sursa (job #1897448)
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int Check (int n)
{
int i, nr, k=0;
k=n/5;
n=n/5;
for (i=5; i<=n; i+=5)
{
nr=i;
while (nr%5==0)
{
k++;
nr=nr/5;
}
}
return k;
}
int main()
{
int p, Left=1, Right=1000000000, Mid, nr=-1, r;
fin>>p;
while (Left<=Right)
{
Mid=(Left+Right)/2;
if (Check(Mid)<p)
Left=Mid+1;
else
if (Check(Mid)>p)
Right=Mid-1;
else
{
nr=Mid;
break;
}
}
if (nr==-1)
fout<<nr;
else
if (nr>4)
{
r=nr%5;
nr=nr-r;
fout<<nr;
}
else
{
nr=1;
fout<<nr;
}
return 0;
}