Pagini recente » Cod sursa (job #78843) | Monitorul de evaluare | Cod sursa (job #2317466) | Profil Snavenport | Cod sursa (job #1397987)
#include <stdio.h>
#define MAXC 1000
using namespace std;
const int base = 1000000;
int n, sol[MAXC];
void multiply(int v[], int val){
int i, r = 0;
for(i = 1; i <= v[0] || r; i++){
v[i] = val * v[i] + r;
r = v[i] / base;
v[i] %= base;
}
v[0] = i - 1;
}
int main(){
freopen("patrate2.in", "r", stdin);
freopen("patrate2.out", "w", stdout);
int i;
scanf("%d", &n);
sol[0] = sol[1] = 1;
for(i = 1; i <= n * n; i++)
multiply(sol, 2);
for(i = 2; i <= n; i++)
multiply(sol, i);
for(i = sol[0]; i >= 1; i--)
printf("%d", sol[i]);
printf("\n");
return 0;
}