Cod sursa(job #1200143)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 21 iunie 2014 22:44:50
Problema Patrate2 Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.74 kb
//n!*(2^(n*n))
#include <stdio.h>
int v[3180];
inline void inmultire(int a){
    int incep, c, e, j, i, x;
    i=1;
    e=0;
    while((i<=v[0])||(e>0)){
        e+=v[i]*a;
        v[i]=e%10;
        e/=10;
        i++;
    }
    v[0]=i-1;
}
int main(){
    int n, i;
    FILE *fin, *fout;
    fin=fopen("patrate2.in", "r");
    fout=fopen("patrate2.out", "w");
    fscanf(fin, "%d", &n);
    v[0]=1;
    v[1]=1;
    for(i=2; i<=n; i++){
        inmultire(i);
    }
    for(i=3; i<=n*n; i+=3){
        inmultire(8);
    }
    inmultire(1<<((n*n)%3));
    printf("%d", v[0]);
    for(i=v[0]; i>0; i--){
        fprintf(fout, "%d", v[i]);
    }
    fprintf(fout, "\n");
    fclose(fin);
    fclose(fout);
    return 0;
}