Cod sursa(job #349618)

Utilizator RoCkyRomila RoCky Data 20 septembrie 2009 16:40:52
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
std::ifstream in("fact.in");
std::ofstream out("fact.out");
int main ()
{
	unsigned long long vectpow[]={25,125,625,3125,15625,78125,390625,1953125,9765623,48828125,244140625,1220703125};
	unsigned long long p,vectnul[]={6,31,156,781,3906,19531,97656,488281,2441406,12207031,61035156,305175781};
	in>>p;
	if(p==0)
		out<<1;
	else
	{
		int i=0;
		while(vectpow[i]<p)
			i++;
		if(vectpow[i]==p)
			out<<vectnul[i];
		else
			if(vectpow[i]*2<p)
				out<<-1;
			else
				if(vectpow[i]*3<p)
					out<<-1;
				else
					if(vectpow[i]*4<p)
						out<<-1;
					else
						out<<vectpow[i];
	}
	return 0;
}