Pagini recente » Cod sursa (job #1666849) | Cod sursa (job #1125984) | Cod sursa (job #2025246) | Cod sursa (job #2819818) | Cod sursa (job #241650)
Cod sursa(job #241650)
#include <fstream.h>
#include <iostream.h>
#include <math.h>
unsigned long int p,crt,zerouri=0,i,k,x[51];
void calculeaza(unsigned long int nr)
{
int i=1;
while(x[i]<nr)
{ zerouri+=nr/x[i];
i++;
}
}
int main()
{ x[0]=1;
for(i=1;i<=50;i++)
x[i]=x[i-1]*5;
fstream f,g;
f.open("fact.in",ios::in);
f>>p;
f.close();
g.open("fact.out",ios::out);
crt=4000000000; int ok;
while(zerouri!=p)
{ zerouri=0;
calculeaza(crt);
if(zerouri>p)
crt=crt/2;
else
if(zerouri<p)
crt=crt+crt/2;
}
if(zerouri==p)
{ while(crt%5)
crt--;
g<<crt;
}
else
g<<-1;
g.close();
return 0;
}