Cod sursa(job #2785293)

Utilizator teodorescunicolasteodorescu nicolas alexandru teodorescunicolas Data 18 octombrie 2021 14:34:49
Problema Patrate2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#define NRCIFMAXX 3180

using namespace std;

int rez[NRCIFMAXX];

int inmultire( int a, int n ) {
    int t = 0, i = 0;
    while ( i < n || t > 0 ) {
        t = t + a * rez[i];
        rez[i] = t % 10;
        t /= 10;
        i++;
    }

    if ( i > n )
        n = i;

    return n;
}

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

    fin = fopen( "patrate2.in", "r" );
    fout = fopen( "patrate2.out", "w" );

    fscanf( fin, "%d", &n );
    fclose( fin );

    nrcif = 1;
    rez[0] = 1;
    for ( i = 2; i <= n; i++ )
        nrcif = inmultire( i, nrcif );

    for ( i = 1; i <= n * n; i++ ) {
        nrcif = inmultire( 2, nrcif );
    }

    for ( i = nrcif - 1; i >= 0; i-- ) {
        fprintf( fout, "%d", rez[i] );
    }

    fclose( fout );
    return 0;
}