Pagini recente » Cod sursa (job #2821806) | Cod sursa (job #745937) | Cod sursa (job #538196) | Cod sursa (job #2968695) | Cod sursa (job #3156755)
#include <iostream>
#include <fstream>
#define NrLen 10000
using namespace std;
ifstream fin("patrate2.in");
ofstream fout("patrate2.out");
struct HugeNumber{
char nr[NrLen + 5];
int lg = 0;
};
void init(HugeNumber &a, int nr){
int preva;
preva = a.lg;
a.lg = 0;
if(nr == 0){
a.nr[0] = 0;
a.lg = 0;
}
else{
while(nr){
a.nr[a.lg++] = nr % 10;
nr /= 10;
}
}
for(int i = a.lg; i < preva; i++){
a.nr[i] = 0;
}
}
inline void produs(HugeNumber a, int b, HugeNumber &p){
int t = 0;
p.lg = a.lg;
for(int i = 0; i < p.lg; i++){
t += a.nr[i] * b;
p.nr[i] = t % 10;
t /= 10;
}
while(t > 0){
p.nr[p.lg] = t % 10;
p.lg++;
t /= 10;
}
}
void afis(HugeNumber a){
for(int i = a.lg - 1; i >= 0; i--){
fout << int(a.nr[i]);
}
}
int main(){
int n;
HugeNumber rez;
fin >> n;
init(rez, 1);
for(int i = 1; i <= n; i++){
produs(rez, i, rez);
}
for(int i = 1; i <= n * n; i++){
produs(rez, 2, rez);
}
afis(rez);
return 0;
}