Cod sursa(job #520751)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 10 ianuarie 2011 11:32:54
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <stdio.h>
FILE *f=fopen("fact.in","r");
FILE *g=fopen("fact.out","w");
int  P;

int nr0(int x){
	int nr=0,p5=5;
	while(x>=p5){
		nr+=x/p5;
		p5*=5;
	}
	return nr;
}

int main(void){
	int register i,j;
	
	fscanf(f,"%d",&P);
	fclose(f);
	
	int register p,u;
	p=1;u=5*P;
	while(p<=u){
		int register m=p+(u-p)/2;
		if(nr0(m)>=P)
			u=m-1;
		else
			p=m+1;
	}
	if(nr0(p)==P)
		fprintf(g,"%d",p);
	else
		fprintf(g,"-1");
	fclose(g);
	return 0;
}