Cod sursa(job #42164)

Utilizator alecmanAchim Ioan Alexandru alecman Data 28 martie 2007 21:35:27
Problema Patrate2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
/*
 *
 *
  info-arena 2.0 - Arhiva - Patrate2
 *
 *
 */

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>

#define INPUT "patrate2.in"
#define OUTPUT "patrate2.out"

FILE *fin=fopen(INPUT, "r"),*fout=fopen(OUTPUT, "w");

int n,b;
int a[10000];

void inmult(int x);

int main()
{
  memset(a,0,sizeof(a));
  a[0]=1;
  a[1]=1;
  fscanf(fin, "%d", &n);
  b=n*n;
  for(int i=1;i<=b/2;++i)
    inmult(4);
  if(b%2!=0)
    inmult(2);
  for(int i=1;i<=n;++i)
    inmult(i);
  for(int i=a[0];i>=1;--i)
    fprintf(fout, "%d", a[i]);
  fclose(fin);
  fclose(fout);
  return 0;
}

void inmult(int x)
{
  int rest=0,temp=0,i;
  for(i=1;i<=a[0];++i)
  {
    temp=a[i]*x+rest;
    a[i]=temp%10;
    rest=temp/10;
  }
  while(rest)
  {
    a[i]=rest%10;
    rest/=10;
    ++i;
  }
  a[0]=i-1;
}