Pagini recente » Cod sursa (job #1778563) | Cod sursa (job #1690752) | Cod sursa (job #1031072) | Cod sursa (job #3123500) | Cod sursa (job #3156754)
#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;
}