Cod sursa(job #361112)

Utilizator nandoLicker Nandor nando Data 3 noiembrie 2009 19:41:57
Problema Factorial Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <cstdio>

int f(int a){
	if(a==1)
		return 1;
	else return a*f(a-1); 
}
int nfive(int a){
	int nf=0;
	while(a%5==0&&a!=0){
		a/=5;
		nf++;
	}
	return nf;
}
int main(){
	int P,N=0;
	FILE *fin,*fout;
	fin=fopen("fact.in","r");
	fout=fopen("fact.out","w+");
	fscanf(fin,"%u",&P);
	fclose(fin);
	if(P==0){
		N=1;
	}else{
		int tf=0,n,i=1;
		while(tf<P){
			n=i*5;
			if(i%5){
				tf++;
			}else{
				tf+=nfive(i)+1;
			}
			i++;
		}
		if(tf==P){
			N=n;
		}else{
			N=-1;
		}
	}
	fprintf(fout,"%u",N);
	fclose(fout);
}