Pagini recente » Cod sursa (job #129114) | Cod sursa (job #554648) | Cod sursa (job #3233687) | Cod sursa (job #3202564) | Cod sursa (job #2828814)
#include <stdio.h>
#define N 10000000000
using namespace std;
FILE *fin, *fout;
int p;
int ok(int n)
{
int nr5 = 0, t = 5;
while(t < n)
{
nr5 += n / t;
t *= 5;
}
return nr5;
}
int cb(int st, int dr)
{
int med, last = -1;
while(st <= dr)
{
med = (st + dr) / 2;
if(ok(med) == p)
{
last = (med / 5) * 5;
break;
}
else if(ok(med) < p)
st = med + 1;
else
dr = med - 1;
}
return last;
}
int main()
{
fin = fopen ("fact.in", "r");
fout = fopen ("fact.out", "w");
fscanf (fin, "%d", &p);
if(p == 0)
fprintf (fout, "1");
else
{
int y = cb(1, N);
fprintf (fout, "%d", y);
}
}