Cod sursa(job #1756438)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 12 septembrie 2016 20:42:32
Problema Patrate2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#include <algorithm>
#define INF 2140000000
#define MOD 100000000
using namespace std;

int N,v[5000]={1,1},temp,lenght,x;
void Multiply(int A[],int n)
{
	temp=0;
	for(int i=1;i<=A[0];i++)
	{
		A[i]=temp+A[i]*n;
		temp=A[i]/MOD;
		A[i]%=MOD;
		if(i==A[0]&&temp>0)
			A[0]++;
	}
}
void Print()
{
	printf("%d",v[v[0]]);
	for(int i=v[0]-1;i>0;i--)
	{
		lenght=1,x=v[i];
		while(x>9)
			lenght++,x/=10;
		for(int i=1;i<=8-lenght;i++)
			printf("0");
		printf("%d",v[i]);
	}
}
int main()
{
    freopen("patrate2.in","r",stdin);
    freopen("patrate2.out","w",stdout);
	scanf("%d",&N);
	for(int i=1;i<=N*N;i++)
		Multiply(v,2);
	for(int i=2;i<=N;i++)
		Multiply(v,i);
	Print();
    return 0;
}