Pagini recente » Cod sursa (job #1280055) | Cod sursa (job #3259592) | Cod sursa (job #2510722) | Cod sursa (job #466540) | Cod sursa (job #2806221)
#include<stdio.h>
using namespace std;
FILE* f, * g;
int v[18] = { 0,5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140725,1220703125 };
int main()
{
long long p, s, d, mij, n = -1, nr0, i;
f = fopen("fact.in", "r");
g = fopen("fact.out", "w");
fscanf(f, "%lld", &p);
if (p != 0)
{
s = 1;
d = p * 5;
while (s <= d)
{
mij = (s + d) / 2;
nr0 = 0;
for (i = 1;v[i] <= mij;i++)
{
nr0 = nr0 + mij / v[i];
}
if (nr0 == p)
{
n = mij;
d = mij - 1;
}
else
{
if (nr0 > p)
{
d = mij - 1;
}
else
{
s = mij + 1;
}
}
}
fprintf(g, "%lld", n);
}
else
{
fprintf(g, "1");
}
fclose(f);
fclose(g);
return 0;
}