Cod sursa(job #2725607)

Utilizator andrei_marciucMarciuc Andrei andrei_marciuc Data 19 martie 2021 12:26:01
Problema Patrate2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <stdio.h>
int a[ 300000 ];

void inmultesc( int v[], int a ){
    int r = 0;
    for( int i = 1; i <= v[ 0 ]; i++ ){
        v[ i ] = v[ i ] * a + r;
        r = v[ i ] / 10;
        v[ i ] %= 10;
    }
    while( r ){
        v[ ++v[ 0 ] ] = r % 10;
        r /= 10;
    }
}

void afis(){
    for( int i = a[ 0 ]; i > 0; i-- )
        printf( "%d", a[ i ] );
    printf( "\n" );
}

int main()
{
    int n;
    FILE *fin = fopen( "patrate2.in", "r" );
    fscanf( fin, "%d", &n );
    fclose( fin );
    a[ ++a[ 0 ] ] = 1;
    //afis();
    for( int i = 1; i <= n; i++ ){
        inmultesc( a, 2 );
        //afis();
        inmultesc( a, i );
      //  afis();
    }
    int right = n * n;
    for( int i = n + 1; i <= right; i++ )
        inmultesc( a, 2 );
    FILE *fout = fopen( "patrate2.out", "w" );
    for( int i = a[ 0 ]; i > 0; i-- )
        fprintf( fout, "%d", a[ i ] );
    fclose( fout );
    return 0;
}