Pagini recente » Cod sursa (job #1957530) | Cod sursa (job #874) | Cod sursa (job #2280994) | Cod sursa (job #7895) | Cod sursa (job #502158)
Cod sursa(job #502158)
#include <stdio.h>
using namespace std;
#define inf 2000000000
#define pt(i) (1<<(i))
unsigned long p;
bool verif;
unsigned long ok ( unsigned long x)
{
unsigned long i, nr5 = 0;
for (i = 5; i <= x; i *= 5)
nr5 += x / i;
if (nr5 == p) verif = true;
if (nr5 <= p)
return 1;
return 0;
}
int main ()
{
unsigned long k = 0; int i;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d", &p);
verif = false;
if (p == 0) { printf("1"); return 0; }
for (i = 32; i >= 0; --i)
if ( k+pt(i)<=inf && ok(k+pt(i)) )
k += pt(i);
if ( verif) printf("%d", k-4);
else printf("-1");
return 0;
}