Pagini recente » Cod sursa (job #2037154) | Cod sursa (job #1278278) | Cod sursa (job #1625832) | Cod sursa (job #482087) | Cod sursa (job #2786241)
#include <stdio.h>
#define BASE 100
#define MAX 3126
int a[ MAX ];
int n;
void inmultesc( int v[], int a ) {
long long t = 0;
for( int i = 1; i <= v[ 0 ]; i++ ) {
v[ i ] = v[ i ] * a + t;
t = v[ i ] / BASE;
v[ i ] %= BASE;
}
while( t ) {
v[ ++v[ 0 ] ] = t % BASE;
t /= BASE;
}
}
int main()
{
FILE *fin = fopen( "patrate2.in", "r" );
fscanf( fin, "%d", &n );
fclose( fin );
int i;
a[ ++a[ 0 ] ] = 2;
for( i = 2; i <= n; i++ )
inmultesc( a, i * 2 );
int right = n * n;
for( ; i <= right; i++ )
inmultesc( a, 2 );
FILE *fout = fopen( "patrate2.out", "w" );
fprintf( fout, "%d", a[ a[ 0 ] ] );
for( int i = a[ 0 ] - 1; i > 0; i-- ) {
//for( int b = BASE; b / 10 >= a[ i ]; b /= 10 )
// fprintf( fout, "0" );
if( a[ i ] < BASE / 10 )
fprintf( fout, "0" );
fprintf( fout, "%d", a[ i ] );
}
fclose( fout );
return 0;
}