Pagini recente » Cod sursa (job #1096136) | Cod sursa (job #984394) | Cod sursa (job #1153575) | Cod sursa (job #2793027) | Cod sursa (job #140642)
Cod sursa(job #140642)
#include<fstream.h>
#include<math.h>
ifstream f("fact.in");
ofstream g("fact.out");
long double z[11],p;
long double zero(long double n)
{long double z=0;
while(floor(n/5)>0) {z+=floor(n/5); n=floor(n/5);}
return z;
}
int main()
{int i;
f>>p;
if(p==0) g<<1;
else
{
for(i=0;i<=10;i++)
z[i]=zero(pow(5,i));
long double c,n=0,p2=p;
for(i=10;i>0;i--)
if(p2>=z[i])
{c=floor(p2/z[i]);
n=n+c*pow(5,i);
p2=p2-c*z[i];
}
if(zero(n)==p) g<<n;
else g<<-1;
}
f.close();
g.close();
return 0;
}