Pagini recente » Cod sursa (job #1399598) | Cod sursa (job #1968834) | Cod sursa (job #2798780) | Cod sursa (job #1973315) | Cod sursa (job #2787474)
#include <bits/stdc++.h>
using namespace std;
#define x1 "patrate2.in"
#define x2 "patrate2.out"
ifstream in(x1);
ofstream out(x2);
#define MAXC 5000
void prd( int ans[], int &nans, int b ) {
int i, t = 0;
for( i = 0; i < nans; i++ ) {
t += b * ans[i];
ans[i] = t % 10;
t /= 10;
}
while( t > 0 ) {
ans[nans++] = t % 10;
t /= 10;
}
}
void fastpow2( int ans[], int &nans, int p ) {
for(int i = 0; i < p / 27; i++)
prd(ans, nans, (1 << 27));
prd(ans, nans, (1 << (p % 27)));
}
int main() {
int n, i, nans;
int ans[MAXC];
in >> n;
ans[0] = 1;
nans = 1;
for( i = 2; i <= n; i++ )
prd(ans, nans, i);
fastpow2(ans, nans, n * n);
for( i = nans - 1; i >= 0; i-- )
out << ans[i];
return 0;
}