Cod sursa(job #284312)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 21 martie 2009 17:12:33
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include<iostream>
#include<stdio.h>
FILE *f=fopen("fact.in","r"),*g=fopen("fact.out","w");
long fact(long nr)
{
	long x=0,p5=5,r=0;
	do
	{
		x=nr/p5;
		r+=x;
		p5*=5;
	}while(x);
	return r;
}

int main()
{
	long p,st,dr,mij,fa,r=-1;
	st=1;dr=2000000000;
	fscanf(f,"%ld",&p);
	while(st<=dr)
	{
		mij=(st+dr)/2;
		fa=fact(mij);
		if(fa==p)
			r=mij;
		if(fa<p) st=mij+1;
		else
			dr=mij-1;
	}
	fprintf(g,"%ld\n",r);
	return 0;
}