Pagini recente » Borderou de evaluare (job #2651070) | Borderou de evaluare (job #2705447) | Cod sursa (job #3278904) | Cod sursa (job #721974) | Cod sursa (job #1169338)
#include <iostream>
#include <fstream>
using namespace std;
int first, last, p, mid;
int nrzero(int x)
{
int p5 = 5;
int d = 0;
while (x/p5 != 0)
{
d += (x/p5);
p5*=5;
}
return d;
}
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
fin>>p;
first = 1; last =5*p;
while (first<=last)
{
mid = first + (last-first)/2;
if (nrzero(mid)<p)
first = mid + 1;
else last = mid - 1;
}
if(nrzero(first)==p)
fout<<first;
else fout<<"-1";
return 0;
}