Cod sursa(job #723057)

Utilizator batistaUPB-Oprea-Cosmin-Dumitru batista Data 24 martie 2012 20:59:44
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
#define min(a,b) (a<b)?a:b
using namespace std;
long long n;

long long cif(long n)
{int d=2,doi=0,cinci=0,i,nr;
  for(i=n;i>=1;i--)
  {nr=i;
	while(nr%2==0)
	{
	  nr/=2;
	  doi++;
	}
	while(nr%5==0)
	{
		nr/=5;
		cinci++;
	}
  }
	return min(doi,cinci);
}

long caut(int s,int d)
{long long mij;long long x,rez=-1;
	while(s<d)
	{
		mij=s+(d-s)/2;
		x=cif(mij);
		if(x<n)s=mij+1;
		if(x>n)d=mij-1;
		if(x==n) { rez=mij; d=mij; }
	}
  return rez;
}
int main()
{
	ifstream f("fact.in");ofstream g("fact.out");
	f>>n;
	g<<caut(1,1000000);
	f.close();g.close();
return 0;}