Cod sursa(job #2787115)

Utilizator LuciBBadea Lucian LuciB Data 22 octombrie 2021 16:27:11
Problema Patrate2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <bits/stdc++.h>
using namespace std;

char v[3170];
int len;

void inmultire(int scalar) {
    int t = 0, i = 0;
    while(i < len || t > 0) {
        t += scalar * v[i];
        v[i] = t % 10;
        t /= 10;
        i++;
        //cout << endl << endl << "i=" << i;
        //if(i > 1000)
            //cout <<"Esti pro\no\no\no\no\nost";
    }
    if(i > len)
        len = i;
}

void afisare(FILE *fout) {
    int i;
    for(i = len - 1; i >= 0; i--)
        fputc(v[i]+'0', fout);
}

int main() {
    FILE *fin, *fout;
    int n, i;

    fin = fopen("patrate2.in", "r");
    fscanf(fin, "%d", &n);
    fclose(fin);

    // n! * 2^(n*n)
    v[0] = 1;
    len = 1;
    //cout << len << ' ' << n;
    for(i = 2; i <= n; i++)
        inmultire(i);
    //cout << "\nEsti prost\n" << len;
    for(i = 0; i < n * n; i++)
        inmultire(2);
    // cout << "\nEsti prost\n" << len;
    fout = fopen("patrate2.out", "w");
    afisare(fout);
    fclose(fout);

    return 0;
}