Cod sursa(job #1238001)

Utilizator diana97Diana Ghinea diana97 Data 5 octombrie 2014 13:49:31
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#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;
}