Pagini recente » Cod sursa (job #2539668) | Cod sursa (job #169509) | Monitorul de evaluare | Cod sursa (job #3237036) | Cod sursa (job #492995)
Cod sursa(job #492995)
#include<cstdio>
#include<iostream>
using namespace std;
const int NMAX = 105;
const int SIRMAX = 1000005;
const int BAZA = 10000;
long long N;
long long REZ[SIRMAX];
void citire()
{
cin >> N;
}
void inm(long long A[], long long x)
{
long long i, t = 0;
for(i = 1 ; i <= A[0] || t ; i++, t /= BAZA)
A[i] = (t += x * A[i]) % BAZA;
A[0] = i - 1;
}
/*void aduna(int A[], int B[])
{
int t = 0;
for(int i = 1 ; i <= A[0] || i <= B[0] || t ; i++, t /= BAZA)
REZ[0] = (t += B[0] + A[0]) % BAZA;
while(REZ[REZ[0] + 1])
REZ[1]++;
}*/
void construi()
{
REZ[0] = 1; REZ[1] = 1;
for(long long i = 1 ; i <= N * N ; i++)
inm(REZ, 2);
for(long long i = 1 ; i <= N ; i++)
inm(REZ, i);
}
void scrie()
{
long long i = REZ[0];
printf("%lld", REZ[i]);
for(i = REZ[0] - 1 ; i ; i--)
printf("%04lld", REZ[i]);
}
int main()
{
freopen("patrate2.in", "r", stdin);
freopen("patrate2.out", "w", stdout);
citire();
construi();
scrie();
return 0;
}