Cod sursa(job #602853)
| Utilizator | Data | 13 iulie 2011 14:46:04 | |
|---|---|---|---|
| Problema | Factorial | Scor | 15 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<stdio.h>
int fac(int n) {
if ( n == 0 )
return 1;
else return n*fac(n-1);
}
int main(){
int s=0,i,q=0,p;
int res=0;
FILE *in,*out;
in = fopen("fact.in","r");
fscanf(in,"%d",&p);
if (p !=0 ){
for (i=5;s<=p;i=i+5){
q=i;
while(q%5==0){
s+=1;
q/=5;
}
}
if(s!=p)
res = -1;
else res=i;
}
else res=1;
fclose(in);
out = fopen("fact.out","w");
fprintf(out,"%d",res);
fclose(out);
return 0;
}