Cod sursa(job #800256)

Utilizator NicuCJNicu B. NicuCJ Data 21 octombrie 2012 10:25:06
Problema Patrate2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
using namespace std;

long long putere(long long b, long long n)
{
	if(n==0)
		return 1;
	if(n%2==0)
	{
		return putere(b, n/2)*putere(b, n/2);
	}
	else
		return b*putere(b, n/2)*putere(b, n/2);
}
long long factorial(long long n)
{
	if(n==1)
		return 1;
	return n*factorial(n-1);
}
int main()
{
	ifstream cin("patrate2.in");
	ofstream cout("patrate2.out");
	long long n, p, fact;
	cin>>n;
	p=putere(2, n*n);
	//la o posibilitate de aranjare a 5-urilor sunt n*n posibilitati de a pune - sau +
	//sunt n! posibilitati (permutari) de a aranja 5-urile pe fiecare rand
	fact=factorial(n);
	cout<<p*fact;
}