Cod sursa(job #1108320)

Utilizator gerd13David Gergely gerd13 Data 15 februarie 2014 16:20:18
Problema Patrate2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>

#define MOD 1000000

using namespace std;

const int NMAX =  100000000 ;


ifstream cin("patrate2.in");
ofstream cout("patrate2.out") ;

int Sol[NMAX];
int N;
inline void multire(int  A[], int B)
{
     /* int i, t = 0;
      for (i = 1; i <= A[0] || t; i++)
            {
                 A[i] = A[i] * B + t ;
              t = A[i] / 10 ;
              A[i] = A[i] % 10 ;
            }
            A[0] = i - 1 ;
            */


      int i, t = 0;
      for (i = 1; i <= A[0] || t; ++ i, t = t / MOD)
              A[i] = (t =   t + A[i] * B) % MOD;
      A[0] = i - 1;

}


int main()
{


    Sol[0] = Sol[1] = 1;

   cin >> N;
    for(int i = 1 ; i <= N; ++ i)
    {
        multire(Sol, i);
        for(int j = 1 ; j <= N ; ++ j)
        {
            multire(Sol, 2);
        }
    }

for(int i = Sol[0] ; i > 0 ; -- i)
    cout << Sol[i] ;
cout << '\n' ;

    cin.close() ;
    cout.close() ;
}