Cod sursa(job #3157221)

Utilizator anastasiadumitru3Dumitru Anastasia anastasiadumitru3 Data 14 octombrie 2023 19:02:21
Problema Patrate2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>

using namespace std;
#define Maxcif 2000
int a[Maxcif];
void inmultire2(int a[]) {
    int t = 0;
    for(int i = 1; i <= a[0]; i++) {
        a[i] = a[i] * 2 + t;
        t = a[i] / 10;
        a[i] = a[i] % 10;
    }

    while(t != 0) {
        a[0]++;
        a[a[0]] = t % 10;
        t /= 10;
    }
}
void atribuire(int a[], int b) {
    a[0] = 0;
    do {
        int cif = b % 10;
        b = b / 10;
        a[0]++;
        a[a[0]] = cif;
    } while(b != 0);
}
int main()
{
    ifstream in("patrate2.in");
    ofstream out("patrate2.out");
    int n, i, p=1;
    in>>n;
    for(i=2; i<=n; i++) p*=i;
    atribuire(a, p);
    for(i=1; i<=n*n; i++) {
        inmultire2(a);
    }
     for(i=a[0]; i>=1; i--){
        out<<a[i];
    }
    return 0;
}