Che dire, ci ho provato. Ma non riesco a venirne a capo, cercando in rete.
Voglio usare dei numeri interi 'grossi' (parlo di più di 308 cifre, molte di più) e mi servirebbero delle librerie che mi avete gentilmente consigliato. Una di queste è la MIRACL di Certivox.
Scaricata e posta nella directory di lavoro, non so evidentemente ben maneggiarla!
Ho visto che ci sono dei sorgenti già compilati nel pacchetto che ho scaricato e ho provato ad avviarne uno per studiarlo e quindi capire come usare questi BIG INT.
Uno a caso: fact.c
Codice: Seleziona tutto
/*
* Program to calculate factorials.
*/
#include <stdio.h>
#include "miracl.h" /* include MIRACL system */
int main()
{ /* calculate factorial of number */
big nf; /* declare "big" variable nf */
int n,m;
#if MIRACL==16
#ifdef MR_FLASH
mirsys(500,10); /* initialise system to base 10, 500 digits per "big" */
#else
mirsys(5000,10); /* bigger numbers possible if no flash arithmetic */
#endif
#else
mirsys(5000,10); /* 5000 digits per "big" */
#endif
nf=mirvar(1); /* initialise "big" variable nf=1 */
printf("factorial program\n");
printf("input number n= \n");
m=scanf("%d",&n);
getchar();
while (n>1) premult(nf,n--,nf); /* nf=n!=n*(n-1)*(n-2)*....3*2*1 */
printf("n!= \n");
otnum(nf,stdout); /* output result */
return 0;
}
Codice: Seleziona tutto
~/Documenti/programmi/Euler/MIRACL/source$ gcc ./fact.c -lm
./fact.c:6:50: fatal error: miracl.h: File o directory non esistente
#include "miracl.h" /* include MIRACL system */
^
compilation terminated.
Un grazie anticipatamente a tutti!


