Cod sursa(job #87356)

Utilizator sanaDascalu Laurentiu sana Data 27 septembrie 2007 00:38:11
Problema Factorial Scor 35
Compilator c Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>
#include <stdlib.h>



int main(){
	FILE *fin,*fout;
	fin=fopen("fact.in","rt");
	fout=fopen("fact.out","wt");


	long int P,i,t,x;

	fscanf(fin,"%ld",&P);

	if (P<0){
		fprintf(fout,"-1");
		goto close;
	}

	if (P==0){
		fprintf(fout,"1");
		goto close;
	}

	i=P*5;
	while(1){
		x=i;
		t=0;
		while(x){
			t+=x/5;
			x=x/5;
		}
		if (t==P){
			fprintf(fout,"%ld",i);
			goto close;
		}
		else if (t>P){
			i-=5;
		}
		else {
			fprintf(fout,"-1");
			goto close;
		}
	}

	close:

	fclose(fin);
	fclose(fout);
	return 0;
}