Cod sursa(job #12418)

Utilizator Ady.hAdrian Hada Ady.h Data 3 februarie 2007 19:03:52
Problema Factorial Scor 60
Compilator c Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>

int p,n,numar=0;

int putere(int x)
{int i=2;
x=x/25;
while (x%125==0)
	{
	i+=3;
	x/=125;
	}
if (x%5==0){ 
	if (x%25==0) return i+2;
		else return i+1;
	}
	else return i; 
}

int main()
{FILE *pf;
pf=fopen("fact.in","r");
fscanf(pf,"%d",&p);
fclose(pf);
if (p==0) {
	pf=fopen("fact.out","w");
	fprintf(pf,"%d",1);
	fclose(pf);
	return 0;
	}
n=1;
for (n=5;numar<p;n+=5)
	if (n%25==0) numar+=putere(n);
		else numar++;
pf=fopen("fact.out","w");
if (numar==p) fprintf(pf,"%d",n-5);
	else fprintf(pf,"%d",-1);
fclose(pf);
return 0;
}