Pagini recente » Cod sursa (job #2463831) | Cod sursa (job #2505507) | Cod sursa (job #1072477) | Cod sursa (job #774652) | Cod sursa (job #2785797)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ( "patrate2.in" );
ofstream cout ( "patrate2.out" );
/// 2 ^ ( N ^ 2 ) * N!
#define int long long
const int base = 10;
const int POW = 55;
int ANS[3180], nrcif;
void mult( int nr ) {
int t = 0, i;
for ( i = 0; i < nrcif || t > 0; i++ ) {
t = t + ANS[i] * nr;
ANS[i] = t % base;
t /= base;
}
if ( i > nrcif )
nrcif = i;
}
signed main() {
int n, i;
cin >> n;
ANS[0] = 1;
nrcif = 1;
for ( i = 1; i <= ( n * n ) / POW; i++ )
mult(((long long)1 << POW));
for ( i = 1; i <= ( n * n ) % POW; i++ )
mult(2);
for ( i = 2; i <= n; i++ )
mult(i);
for ( i = nrcif - 1; i >= 0; i-- ) {
cout << ANS[i];
}
return 0;
}