Cod sursa(job #241650)

Utilizator f.v.antonFlavius Anton f.v.anton Data 10 ianuarie 2009 16:44:56
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream.h>
#include <iostream.h>
#include <math.h>
unsigned long int p,crt,zerouri=0,i,k,x[51];
void calculeaza(unsigned long int nr)
{
	int i=1;
	while(x[i]<nr)
	{	zerouri+=nr/x[i];
		i++;
	}
}



int main()
{       x[0]=1;
	for(i=1;i<=50;i++)
		x[i]=x[i-1]*5;
	fstream f,g;
	f.open("fact.in",ios::in);
	f>>p;
	f.close();
	g.open("fact.out",ios::out);
	crt=4000000000;   int ok;
	while(zerouri!=p)
	{       zerouri=0;
		calculeaza(crt);
		if(zerouri>p)
			crt=crt/2;
		else
		if(zerouri<p)
			crt=crt+crt/2;
	}




	if(zerouri==p)
	{	while(crt%5)
		crt--;
	 g<<crt;
	}
	else
		g<<-1;
	g.close();
	return 0;
}