Pagini recente » Cod sursa (job #1434005) | Cod sursa (job #1909147) | Cod sursa (job #2818820) | Cod sursa (job #2964337) | Cod sursa (job #2786176)
#include <fstream>
#include <vector>
#define BASE2 20
using namespace std;
ifstream cin ("patrate2.in");
ofstream cout ("patrate2.out");
struct strhuge {
vector < int > vcif;
};
void afis(strhuge A) {
int i;
for (i = A.vcif.size() - 1; i >= 0; i--)
cout << A.vcif[i];
}
strhuge inmultire_huge(strhuge A, int val) {
int t = 0, ncur, i;
ncur = A.vcif.size();
for (i = 0; i < ncur; i++) {
t = t + val * A.vcif[i];
A.vcif[i] = t % 10;
t /= 10;
}
while (t > 0) {
A.vcif.push_back(t % 10);
t /= 10;
}
return A;
}
int main() {
int n, i;
strhuge sol;
cin >> n;
sol.vcif.push_back(1);
for (i = 1; i <= n; i++)
sol = inmultire_huge(sol, i);
for (i = 1; i <= (n * n) / BASE2; i++)
sol = inmultire_huge(sol, (1 << BASE2));
for (i = 1; i <= (n * n) % BASE2; i++)
sol = inmultire_huge(sol, 2);
afis(sol);
return 0;
}