Cod sursa(job #358019)
| Utilizator | Data | 21 octombrie 2009 18:22:24 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<fstream.h>
#include<math.h>
int main()
{
int p,n,c,m,put,i,j;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p; n=1;
if(p==5)n=-1;
else
{
i=1; j=1000000000;
while(i<j){
m=(i+j)/2;
c=m; put=0;
while(c){ put+=c/5;
c/=5;
}
if(put<p)i=m+1;
else if(put>p)j=m-1;
if(put==p){n=m;break;}
}
if(i>j)n=-1;}
g<<n;
f.close();
g.close();
return 0;
}