Cod sursa(job #529824)

Utilizator micky000Antal Ioan micky000 Data 6 februarie 2011 10:12:50
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
#define dmax 100010
using namespace std;
 
int n;
int a[dmax];
 
void citire()
{
 ifstream fin("patrate2.in");
  
 fin>>n;
     
 fin.close();
}
 
 
void inmultire(int nr)
{
  int i,t=0;
 
 for (i=1; i<=a[0]; i++)
     {
      a[i] = a[i] * nr + t;
      t = a[i] / 10;
      a[i] = a[i] % 10;
     }
  
 while (t != 0)
     {
      a[0]++;
      a[a[0]] = t % 10;
      t = t / 10;
     }
}
 
 
void solve()
{
 int i;
     
 a[0]=1; a[1]=1;
  
 for (i=2; i<=n; i++) /*n factorial*/
    inmultire(i);
  
 for (i=1; i<=n*n / 4; i++) /* 2 la puterea n*n */
     inmultire(16);
 for (i=n*n/4*4 + 1; i<=n*n ;i++)
     inmultire(2);
}
 
 
void afisare()
{
 int i;
  
 ofstream fout("patrate2.out");
  
 for (i=a[0]; i>=1; i--)
     fout<<a[i];
     
 fout.close();
}
 
int main()
{
     
 citire();
 solve();
 afisare();
     
 return 0;
}