Cod sursa(job #61037)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 17 mai 2007 22:27:53
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<stdio.h>
int o,n,i,j,sol[5000],k;
int main()
{
	FILE *f,*g;
	f=fopen("patrate2.in","r");
	g=fopen("patrate2.out","w");
	o=0;
	sol[o]=1;
	fscanf(f,"%d",&n);
	for(i=1;i<=n;i++)
	{  for(j=0;j<=o;j++)
	   sol[j]*=i;
	   for(j=0;j<=o;j++)
	   { sol[j+1]+=sol[j]/10;
	     sol[j]%=10;
	   }
	   while(sol[o+1]){o++;sol[o+1]+=sol[o]/10;sol[o]%=10;}
	}
	k=(n*n)/9;
	for(i=1;i<=k;i++)
	{  for(j=0;j<=o;j++)
	   sol[j]*=512;
	   for(j=0;j<=o;j++)
	   { sol[j+1]+=sol[j]/10;
	     sol[j]%=10;
	   }
	   while(sol[o+1]){o++;sol[o+1]+=sol[o]/10;sol[o]%=10;}
	}
	k=(n*n)%9;
	for(i=1;i<=k;i++)
	{  for(j=0;j<=o;j++)
	   sol[j]*=2;
	   for(j=0;j<=o;j++)
	   { sol[j+1]+=sol[j]/10;
	     sol[j]%=10;
	   }
	   while(sol[o+1]){o++;sol[o+1]+=sol[o]/10;sol[o]%=10;}
	}
	for(j=o;j>=0;j--)
	fprintf(g,"%d",sol[j]);
	fprintf(g,"\n");
	fcloseall();
	return 0;
}