Cod sursa(job #414636)

Utilizator marian77ivan marian liviu marian77 Data 10 martie 2010 12:36:11
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include <stdio.h>
int st,dr,n,p,nr,q,ok;
int main() {
	FILE *f=fopen("fact.in","r");
	FILE *g=fopen("fact.out","w");
	fscanf(f,"%d",&p);
	st=0;
	dr=2000000000;
	while(ok==0&&st<=dr) {
		nr=0;
		n=(st+dr)/2;
		q=5;
		while(q<=n) {
			nr=nr+n/q;
			q=q*5;
		}
		if(nr==p) {
			ok=1;
			while(n%5!=0)
				n--;
			fprintf(g,"%d",n);
			break;
		}
		else
			if(nr>p)
				dr=n-1;
			else
				st=n+1;
	}
	return 0;
}