Cod sursa(job #147571)

Utilizator savimSerban Andrei Stan savim Data 3 martie 2008 10:50:48
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <stdio.h>
#define l 455
#define b 10000000
int n,i,j;
int nr[l+10];
int main()
{


		freopen("patrate2.in","r",stdin);
		freopen("patrate2.out","w",stdout);

		scanf("%d",&n);
		nr[l]=1;
		for (i=1; i<=n*n; i++)
		{
				for (j=l; j>=1; j--)
						nr[j]*=2;
				for (j=l; j>=1; j--)
					while (nr[j]-b>0)	
					{
                        nr[j-1]++;
                        nr[j]-=b;
                    
                    }
		}
		for (i=1; i<=n; i++)
		{
				for (j=l; j>=1; j--)
						nr[j]*=i;
				for (j=l; j>=1; j--)
				{
						nr[j-1]+=nr[j]/b;
						nr[j]%=b;
				}
		}
		for (i=1; i<=l; i++)
				if (nr[i]!=0)
				{
						j=i;
						break;
				}
		printf("%d",nr[j]);
		for (i=j+1; i<=l; i++)
		{
				long cop=nr[i];
				if (cop!=0)
				while (cop<b/10)
				{
						printf("0");
						cop*=10;
				}
				else printf("000000");
				printf("%d",nr[i]);
		}
		printf("\n");

		return 0;
}