Pagini recente » Cod sursa (job #2680636) | Cod sursa (job #1324528) | Monitorul de evaluare | Cod sursa (job #1150757) | Cod sursa (job #1475292)
#include <cstdio>
#define base 10000
#define SIZE 10000007
using namespace std;
FILE *fin, *fout;
int n, aux[SIZE];
void afisare(int a[1000])
{
int temp, count = 0;
for(int i = a[0]; i>= 1; i--)
{
if(i == a[0])
{
printf("%d", a[i]);
continue;
}
printf("%04d", a[i]);
}
printf("\n");
}
void inmultire(int a[SIZE], int b1)
{
int carry = 0, temp;
for(int i = 1; i<= a[0]; i++)
{
temp = a[i] * b1 + carry;
a[i] = temp%base;
carry = temp/base;
}
while(carry)
{
a[0]++;
a[a[0]] = carry%base;
carry/=base;
}
}
int main()
{
fin = freopen("patrate2.in", "r", stdin);
fout = freopen("patrate2.out", "w", stdout);
scanf("%d", &n);
aux[0] = 1;
aux[1] = 1;
for(int i = 2; i<= n; ++i) inmultire(aux, i);
for(int i = 1; i<= n; ++i) inmultire(aux, 4);
afisare(aux);
fclose(fin);
fclose(fout);
return 0;
}