Cod sursa(job #1165788)

Utilizator LarryIulian Dutu Larry Data 2 aprilie 2014 22:05:40
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;

unsigned fact(unsigned n)
{
	unsigned a,z=0,m[2]={0,0};
	for(unsigned i=2;i<=n;i++)
	{
		if(a%2!=0&&a%5!=0)
			continue;
		a=i;
		while(a%10==0)
		{
			z++;
			a/=10;
		}
		while(a%5==0)
		{
			m[0]++;
			a/=5;
		}
		while(a%2==0)
		{
			m[1]++;
			a/=2;
		}
	}
	if(m[0]>=m[1])
		z+=m[1];
	else
		z+=m[0];
	return z;
}

int main()
{
	unsigned P;
	unsigned long long i;
	bool exista=0;
	ifstream f("fact.in");
	f>>P;
	f.close();
	ofstream g("fact.out");
	for(i=1;;i++)
		if(fact(i)==P)
		{
			g<<i;
			exista=1;
			break;
		}
	if(!exista)
		g<<-1;
	g.close();
	return 0;
}