Cod sursa(job #397404)

Utilizator bugyBogdan Vlad bugy Data 16 februarie 2010 21:30:50
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
using namespace std;
#define Mx 4200000000
#include<stdlib.h>
unsigned long p,x,a,b,c,i,ok,n;

FILE *f=fopen("fact.in","r"), *g=fopen("fact.out","w");
void desc()
{
	for(i=5;i<=c;i*=5)
		x+=c/i;
}

void caut_bin(unsigned long a,unsigned long b)
{	x=0;
	if(a>b)
		if(!ok)
		{fprintf(g,"-1\n"); fclose(f); fclose(g); exit(0);}
		else return;
	c=(a+b)/2;
	
	desc();
	if(x==p)
		{
		n=c;
		ok=1;
		}
	
	if(x<p) caut_bin(c+1,b);
	else if(x>=p) caut_bin(a,c-1);	
	
}






int main()
{
	
	
fscanf(f,"%lu",&p);

caut_bin(0,Mx);
fprintf(g,"%lu\n",n); 

fclose(f);
fclose(g);

	
return 0;	
}