Cod sursa(job #144069)
| Utilizator | Data | 27 februarie 2008 10:18:06 | |
|---|---|---|---|
| Problema | Factorial | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<stdio.h>
#define N 100000001
int main()
{int h=1,i,j,p,nr=0;
freopen("fact.in", "r",stdin);
freopen("fact.out", "w",stdout);
scanf("%d", &p);
if(p>=1000000) {nr=1000000; h=4000005;}
if(p>=10000000){nr=10000000; h=40000010;}
if(p>=50000000) {nr=50000000; h=100000001;}
for(i=h;i<=N;++i)
{if(nr==p) break;
if(i%5==0) { j=i; while(j%5==0) {j=j/5; ++nr;}}
if(nr==p) break; if(nr>p) {i=-1; break;}
}
printf("%d", i);
return 0;
}
