Cod sursa(job #521351)

Utilizator bogdan353Costea Bogdan bogdan353 Data 12 ianuarie 2011 09:41:58
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<iostream>
#include<fstream>
using namespace std;

long p;

int bins(long long st, long long dr)
{
	long long cp,m,s=0;
	while(st<dr)
	{
		s=0;
		m=(st+dr)/2;
		cp=m;
		 while(cp!=0)
		 {s=s+cp/5;
           cp=cp/5;
		 }
         if(s==p)  return m;
		 if(s>p) dr=m-1;
		 else st=m+1;
	}
return 0;
}

int main()
{
	ifstream f("fact.in");
	ofstream g("fact.out");
	
	
	f>>p;
	
	long long n,s,cop;
	
	
	if(!bins(1,4000000015))
		cout<<-1;
	else
	{
		n=bins(1,4000000015);
		s=p;
		
		while(s==p)
		{
			
			s=0;
			n--;
			
			cop=n;
			 while(cop!=0)
		 {
			 s=s+cop/5;
           cop=cop/5;
		 }
			
		}
		g<<n+1;
	}
}