Cod sursa(job #707892)

Utilizator iarbaCrestez Paul iarba Data 6 martie 2012 08:55:48
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>
#warning problema aceasta e prea usoara
long i,j,n,m,k,s,t,r,p;
FILE *f,*g;
long cauta(long x,long y)
{
	long au;
	m=((x+y)/2)*5;r=5;k=0;
	while(m>=r){k+=m/r;r*=5;}
	au=-1;
	if(k<p){if(x!=y){
		au=cauta(m/5,y);}}
	if(k>p){if(x==y){
		au=cauta(x,m/5);}}
	if(k==p){au=m;}
	        
return au;
}
int main()
{
	f=fopen("fact.in","r");
	g=fopen("fact.out","w");
	fscanf(f,"%ld",&p);
	n=cauta(0,2000000000);
	if(n==-1){fprintf(g,"-1");}
	n=(n/5)*5;
	if(n==0){fprintf(g,"1");}
	if(n>0){fprintf(g,"%ld",n);}
	else{fprintf(g,"1");}
return 0;
}