Cod sursa(job #2787349)

Utilizator elisa.ipateElisa Ipate elisa.ipate Data 23 octombrie 2021 09:22:24
Problema Patrate2 Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <stdlib.h>

char v[5000];

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

    if ( i > n )
        n = i;
    return n;
}

int main() {
    FILE *fin, *fout;
    fin = fopen( "patrate2.in", "r" );
    fout = fopen( "patrate2.out", "w" );
    int n, m, i;
    fscanf( fin, "%d", &m );
    n = 1;
    v[0] = 1;
    for( i = 2; i <= m; i++ ) {
        n = inmultire( n, i);
    }
    for( i = m*m; i-10 >= 0; i-=10 )
        n = inmultire( n, 1024 );
    i = (m*m)%10;
    n = inmultire( n, 1 << i );
    for ( i = n-1; i >= 0; i-- )
      fputc( '0' + v[i], fout );
    fputc( '\n', fout );
    fclose( fin );
    fclose( fout );
    return 0;
}