Cod sursa(job #468162)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 2 iulie 2010 15:06:14
Problema Patrate2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdio.h>

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

int n,i,nr[3200],pp;

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


void afisare () {
	if ( n == 1 )
		fprintf(g , "1" );
	else
		for ( i = nr[0] ; i >= 1 ; --i )
			fprintf(g,"%d",nr[i]);
	fprintf(g,"\n");
	
}

int main () {
	
	fscanf ( f , "%d" , &n ) ;
	
	nr[0] = nr[1] = 1 ;
	
	for ( i = 1 ; i <= n ; ++i )
		inmultire ( nr , i ) ;
	
	pp = n * n ;
	
	for ( i = 1 ; i <= pp ; ++i ) 
		inmultire ( nr , 2 ) ;
	
	afisare() ;
	
	
	fclose(f);
	fclose(g);
	
	return 0;
}