Pagini recente » Cod sursa (job #2585098) | Cod sursa (job #1557599) | Cod sursa (job #1824997) | Cod sursa (job #1373266) | Cod sursa (job #1268698)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p, n;
int f(int n)
{
int t = 5, ret = 0;
while(t <= n)
{
ret = ret + n / t;
t *= 5;
}
return ret;
}
int cautbin(int left, int right)
{
if(left>right)
return -1;
int m= (left + right)/2;
if(f(m)>p)
cautbin (left, m-1);
else if (f(m)<p)
cautbin(m+1, right);
else return m;
}
int main()
{
fin >> p;
if(p==0)
fout << 1;
else
{
n=cautbin(1,2000000);
if (cautbin(1, 2000000)==-1)
fout << -1;
else{
while(n%5!=0)
n--;
fout << n;
}
}
fin.close();
fout.close();
return 0;
}