Cod sursa(job #468177)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 2 iulie 2010 15:28:02
Problema Patrate2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<stdio.h>
#include<string>

FILE*f=fopen("patrate2.in","r");
FILE*g=fopen("patrate2.out","w");

int n,i,pp,c,aux;
char nr[3200];

void inmultire ( char nr[3200] , int x ) {
	
	int i = 1 , t = 0 , y = 0 ;
	
	for ( i = 1 ; i <= c ; ++i ){
		
		y = x * ( nr[i] - '0' ) + t ;
		nr[i] = y % 10 + '0' ;
		t = y / 10 ;
		
	}
	
	while ( t ) {
		
		nr[++c] = ( t % 10 ) + '0' ;
		
		t /= 10 ;
		
	}
	
}


int main () {
	
	fscanf ( f , "%d" , &n ) ;
	
	c = 1 ;
	nr[1] = '1' ;
	
	for ( i = 1 ; i <= n ; ++i )
		inmultire ( nr , i ) ;
	
	pp = n * n ;
	
	for ( i = 1 ; i <= pp ; ++i ) 
		inmultire ( nr , 2 ) ;
	
	pp = c / 2 ;
	
	for ( i = 1 ; i <= pp ; ++i ){
		aux = nr[i];
		nr[i] = nr[ c - i + 1 ] ;
		nr[ c - i + 1 ] = aux ;
	}
	
	fprintf( g , "%s" , nr ) ;
	//fprintf(g,"\n");
	
	
	fclose(f);
	fclose(g);
	
	return 0;
}