Cod sursa(job #894807)

Utilizator StexanIarca Stefan Stexan Data 26 februarie 2013 23:41:20
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
using namespace std;
#include <fstream>


unsigned int p; 

ifstream f("fact.in");
ofstream g("fact.out");

int div5(int x)
{

	int nr=0, y=5;
	while(y<=x)
	{
		y*=5;
		nr=nr+x/y;
	}
	return nr;
}

int search(int st, int dr)
{
    long long mij,nr;
    if(st>dr) return 0;
        mij=(st+dr)/2;
      
		 nr=div5(mij);
        if(nr==p)
          return mij;
        else
          if(p<nr)
             return search(st,mij-1);
          else
             return search(mij+1,dr);

}
int main()
{
unsigned int i,n;
f>>p;

	if(p==0)
	{ g<<1; return 0;}
	else
	{
		n=search(1,2000000000);
		if(n==0)
			n=-1;
		else
			while(n%5!=0)
				n--;
	}
	g<<n;
	return 0;
}