Cod sursa(job #758013)

Utilizator bora_marianBora marian bora_marian Data 14 iunie 2012 02:45:36
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<iostream>
#include<fstream>
using namespace std;
int p,n;
int verifica(int n);
void cauta(int st,int dr);
int main()
{
	ifstream fin("fact.in");
	ofstream fout("fact.out");
	fin>>p;
	cauta(1,5*p);
	//cout<<verifica(50);
	if(verifica(n)==p)
		fout<<n;
	else
		fout<<"-1";
	return 0;
}
void cauta(int st,int dr)
{
	if(st==dr)
	{	
		n=st;
		return ;
	}
	int mij=(st+dr)/2;
	if(verifica(mij)<p)
		cauta(mij+1,dr);
	else
		cauta(st,mij);
}
int verifica(int n)
{
	int c=5;
	int s=0;
	while(n/c!=0)
	{
		s+=n/c;
		c=c*5;
	}
	return s;
}