Cod sursa(job #31398)

Utilizator MirageRobert Sandu Mirage Data 15 martie 2007 22:43:16
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<stdio.h>
int main () {
	int k,i,nr0=0,c,nr=0;
	FILE *in=fopen("fact.in","r"), *out=fopen("fact.out","w");
	fscanf(in,"%d",&k);
	if(k<0)
		fprintf(out,"-1\n");
	else
		if(k==0)
			fprintf(out,"1\n");
		else{
			for(i=1;nr0<k;i*=5){
				nr0+=i;
				nr++;
			}
			c=i;
			c-=25;
			nr0=nr0-nr-4;
			while(nr0>k){
				c-=25;
				nr0=nr0-nr-3;
			}
			while(nr0<k){
				c+=5;
				nr0+=1;
			}
		}
	fprintf(out,"%d\n",c);
	fclose(in);
	fclose(out);
	return 0;
}