Cod sursa(job #87306)
Utilizator | Data | 26 septembrie 2007 22:18:37 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <stdio.h>
int main(){
FILE *fin,*fout;
fin=fopen("fact.in","rt");
fout=fopen("fact.out","wt");
long int N,P,aux;
fscanf(fin,"%ld",&P);
if (P<0){
fprintf(fout,"-1");
goto close;
}
if (P==0){
fprintf(fout,"1");
goto close;
}
aux=P;
while(P%5==0){
aux--;
P/=5;
}
N=aux*5;
fprintf(fout,"%ld",N);
close:
fclose(fin);
fclose(fout);
return 0;
}