Pagini recente » Cod sursa (job #3366527) | Cod sursa (job #3367223) | Cod sursa (job #3366756) | Cod sursa (job #3367224) | Cod sursa (job #3367225)
#include <iostream>
#include <stdio.h>
using namespace std;
#define CIFMAX 3500
void inmultire( char a[], int &lung_a, int b ) {
int t, ind;
ind = t = 0;
while ( ind < lung_a || t > 0 ) {
t += b * a[ind];
a[ind] = t % 10;
t /= 10;
ind++;
}
if ( ind > lung_a )
lung_a = ind;
}
FILE *fin, *fout;
void afisare( char r[], int lung_r ) {
int ind;
for ( ind = lung_r - 1; ind >= 0; ind-- )
putc( '0' + r[ind], fout );
putc( '\n', fout );
}
char rez[CIFMAX];
int main()
{
int num_n, ind, lung_rez, n_patrat;
fin = fopen( "patrate2.in", "r" );
fscanf( fin, "%d", &num_n );
fclose( fin );
rez[0] = 1;
lung_rez = 1;
for ( ind = 1; ind <= num_n; ind++ )
inmultire( rez, lung_rez, ind );
n_patrat = num_n * num_n;
for ( ind = 0; ind < n_patrat; ind++ )
inmultire( rez, lung_rez, 2 );
fout = fopen( "patrate2.out", "w" );
afisare( rez, lung_rez );
fclose( fout );
return 0;
}