Cod sursa(job #520216)

Utilizator tudorsTudor Siminic tudors Data 7 ianuarie 2011 15:55:23
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>
using namespace std;
long long p,n,i,ok,put,j,x,s,q;
long long P[1001];
long long X[1001];
long long m;
int main()
{
	ifstream f("fact.in");
	ofstream g("fact.out");
	f>>p;
	if (p==0)
	{
		g<<1;
		return 0;
	}
	// se calculeaza puterile lui 5
	s=5;
	i=0;
	while (s<1000000000)
	{
		i++;
		s*=5;
		P[i]=s;
		X[i]=X[i-1]+i;
	}
	m=p*5;
	q=0;
	for (j=1;j<=i-1;j++)
		if (m==P[j])
		{
			g<<-1;
			return 0;
		}
		else
		if (m>P[j] && m<P[j+1])
		{
			q=1;
			break;
		}
	if (q==1)
		g<<m-(X[j]*5);
	else g<<m;
	f.close();
	g.close();
	return 0;
}