#include <stdio.h>
#include <miracl.h>

int main()
{
    big nf;
    int n;

    miracl *mip=mirsys(5000,10);

    nf=mirvar(1);

    scanf("%d", &n);

    while (n > 1){
        premult(nf, n, nf);
        n--;
    }
    printf("n! = \n");

    otnum(nf, stdout);
}

別スレでMIRACLを進めてきたので、こちらでも薦めてみる。
階乗を求めるプログラム。