Pagini recente » Cod sursa (job #2578666) | Cod sursa (job #902450) | Cod sursa (job #866352) | Cod sursa (job #2240417) | Cod sursa (job #2785790)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin ( "patrate2.in" );
ofstream cout ( "patrate2.out" );
/// 2 ^ ( N ^ 2 ) * N!
const int base = 1e6;
const int POW = 10;
vector<int> ANS;
void mult( int nr ) {
int t = 0, n;
n = ANS.size();
for ( int i = 0; i < n || t > 0; i++ ) {
if ( i < n )
t = t + nr * ANS[i];
if ( i < n )
ANS[i] = t % base;
else
ANS.push_back( t % base );
t /= base;
}
}
int main() {
int n, i;
cin >> n;
ANS.push_back(1);
for ( i = 1; i <= ( n * n ) / POW; i++ )
mult((1 << POW));
for ( i = 1; i <= ( n * n ) % POW; i++ )
mult(2);
for ( i = 2; i <= n; i++ )
mult(i);
for ( i = ANS.size() - 1; i >= 0; i-- )
cout << ANS[i];
return 0;
}