Pagini recente » Cod sursa (job #796038) | Cod sursa (job #2165766) | Cod sursa (job #2621729) | Cod sursa (job #2978458) | Cod sursa (job #1019333)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
const int base= 10000;
void write( vector <int> x ) {
if ( x[(int)x.size()-1]>0 ) {
fout<<x[(int)x.size()-1];
}
for ( int i= (int)x.size()-2; i>=0; --i ) {
if ( x[i]<1000 && x[i]>99 ) {
fout<<"0";
} else if ( x[i]<100 && x[i]>9 ) {
fout<<"00";
} else if ( x[i]<10) {
fout<<"000";
}
fout<<x[i];
}
fout<<"\n";
}
void hn_mult( vector <int> &x, int y ) {
int t= 0;
for ( int i= 0; i<(int)x.size() || t!=0; ++i ) {
if ( i>(int)x.size()-1 ) {
x.push_back(0);
}
x[i]= x[i]*y+t;
t= x[i]/base;
x[i]%= base;
}
}
int main( ) {
int n;
fin>>n;
vector <int> x;
x.push_back(1);
for ( int i= 2; i<=n; ++i ) {
hn_mult(x, i);
//fout<<i<<" ";
//write(x);
}
for ( int i= 0; i<n*n; ++i ) {
hn_mult(x, 2);
//fout<<i+1<<" ";
//write(x);
}
write(x);
return 0;
}