Pagini recente » Cod sursa (job #2863360) | Cod sursa (job #112088) | Cod sursa (job #1274383) | Istoria paginii runda/arnold-testare-2/clasament | Cod sursa (job #1238001)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("patrate2.in");
ofstream g("patrate2.out");
int n;
int sol[1000001];
inline void inmulteste(int x) {
int t = 0;
for (int i = 1; i <= sol[0]; i++) {
t += sol[i] * x;
sol[i] = t % 10;
t /= 10;
}
while (t) {
sol[0]++;
sol[sol[0]] = t % 10;
t /= 10;
}
}
inline void rezolva() {
sol[0] = sol[1] = 1;
for (int i = 1; i <= n; i++) inmulteste(i);
n *= n;
while (n) {
if (n > 3) inmulteste(8), n -= 3;
else inmulteste(2), n--;
}
}
inline void scrie() {
for (int i = sol[0]; i >= 1; i--) g << sol[i];
}
int main() {
f >> n;
rezolva();
scrie();
return 0;
}