Cod sursa(job #3039800)

Utilizator dragoncrackCandidatu Mario Luca dragoncrack Data 28 martie 2023 21:17:01
Problema Patrate2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>

using namespace std;

ifstream fin("patrate2.in");
ofstream fout("patrate2.out");

int n, termenFinal[5002010];

void Produs(int t1[], int t2)
{
    int suma, transport = 0;
    for (int i = 1; i <= t1[0]; i++)
    {
        t1[i] *= t2;
    }
    for (int i = 1; i <= t1[0]; i++)
    {
        suma = t1[i] + transport;
        t1[i] = suma % 10;
        transport = suma / 10;
    }
    while (transport)
    {
        t1[++t1[0]] = transport % 10;
        transport /= 10;
    }
}

int main()
{
    fin >> n;
    termenFinal[0] = termenFinal[1] = 1;
    for (int i = 2; i <= n; i++)
    {
        Produs(termenFinal, i);
    }
    n *= n;
    int f = (1 << 25);
    for (int i = 1; i <= n / 25; i++)
    {
        Produs(termenFinal, f);
    }
    for (int i = 1; i <= n % 25; i++)
    {
        Produs(termenFinal, 2);
    }
    for (int i = termenFinal[0]; i > 0; i--)
    {
        fout << termenFinal[i];
    }
}