Pagini recente » Cod sursa (job #2791861) | Cod sursa (job #3144281) | Cod sursa (job #1871991) | Cod sursa (job #765213) | Cod sursa (job #2941803)
#include <fstream>
using namespace std;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
int n, v[10000005], v1[10000005];
bool xe = 0;
void inm(int e, int x[], int& lx, int& lx1, int x1[])
{
int t = 0;
if (!e)
{
lx1 = 0;
x1[0] = 0;
return;
}
lx1 = lx;
for (int i = 0; i < lx; i++)
{
x1[i] = x[i] * e + t;
t = x1[i] / 10;
x1[i] %= 10;
}
while (t)
{
x1[lx1] = x[lx1] * e + t;
t = x1[lx1] / 10;
x1[lx1] %= 10;
lx1++;
}
}
int main()
{
fin >> n;
int n1 = 1, n2=1;
v[0] = 2;
for (int i = 2; i <= n; i++)
{
if (i%2 == 0)
{
inm(i*2,v,n1, n2, v1);
xe = 1;
}
else
{
inm(i*2, v1, n2, n1, v);
xe = 0;
}
}
if (n == 1)
{
fout << 2;
return 0;
}
if (xe)
{
inm(n*(n-1)*2, v1, n2, n1, v);
for (int i = n1 - 1; i >= 0; i--)
{
fout << v[i];
}
}
else
{
inm(n*(n-1)*2, v, n1, n2, v1);
for (int i = n2 - 1; i >= 0; i--)
{
fout << v1[i];
}
}
return 0;
}