Cod sursa(job #1047807)

Utilizator RaduStefanFMI - Radu Stefan RaduStefan Data 4 decembrie 2013 21:38:38
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream>
#include<math.h>
using namespace std;
long long sol=-1,p,t=0;
int verif(long long a)
{
	long long s=0,b=1;
	while(b<=a)
	{
		b*=5;
		s+=a/b;
		if(s>=p)
		{
			return 1;
			t=s;
		}
	}
	return 0;
}
void bin2()
{
	long long poz=0;
	long long pas=(1<<7);
	while(pas>0)
	{
			if( verif(poz+pas)==1)
					sol=poz+pas;
				else poz+=pas;
		pas>>=1;
	}
}
int main()
{
	ifstream fcin("fact.in");
	ofstream fcout("fact.out");
	fcin>>p;
	if(p==0)fcout<<1;
	else 
	{
	bin2();
	if(t!=p)fcout<<-1;
	else 
		fcout<<sol;
	}
	return 0;
}