Pagini recente » Cod sursa (job #2379810) | Photo | Cod sursa (job #401979) | Cod sursa (job #1570951) | Cod sursa (job #1837342)
#include <fstream>
#define DMAX 100000
using namespace std;
typedef int NrMare[DMAX];
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
int n, lg;
NrMare x;
void produsc(NrMare a, int lga, int b, NrMare c, int& lgc);
bool is0(NrMare x, int lgx);
void afisare(NrMare x, int& lgx);
int main()
{
int i;
fin >> n;
x[0] = 1;
lg = 1;
for (i = 2; i <= n; i++)
produsc(x, lg, i, x, lg);
n *= n;
for (i = 1; i <= n; i++)
produsc(x, lg, 2, x, lg);
afisare(x, lg);
fout << '\n';
fout.close();
return 0;
}
void produsc(NrMare a, int lga, int b, NrMare c, int& lgc)
{
int t = 0, i, aux;
if (is0(a, lga) || !b)
{
lgc = 1;
c[0] = 0;
return ;
}
lgc = lga;
for (i = 0; i < lgc; i++)
{
aux = a[i] * b + t;
t = aux / 10;
c[i] = aux % 10;
}
while (t)
{
c[lgc++] = t % 10;
t /= 10;
}
}
bool is0(NrMare x, int lgx)
{
return lgx == 1 && !x[0];
}
void afisare(NrMare x, int& lgx)
{
int i;
for (i = lgx - 1; i >= 0; i--)
fout << x[i];
}