<BR>Il codice attualmente è questo:
<BR>
#include <stdio.h>
<BR>
<BR>void main()
<BR>
<BR>{
<BR>unsigned long int a, b, c, d, e, f, i, h;
<BR>unsigned long int range[2], numerip[250000] ;
<BR>bool primo;
<BR>FILE *fw;
<BR>printf(\"Prime_Numbers v0.5.1 build 3 \\n\");
<BR>printf(\"Totalmente programmato da Giorgio Busoni \\n\");
<BR>printf(\"L\'\'intevallo di numeri nel quale vuoi cercare i numeri primi \\n\");
<BR>printf(\"Digita la cifra di partenza (minima) \\n\");
<BR>scanf(\"%d\", &range[0]);
<BR>printf(\"Digita la cifra di arrivo (massima) \\n\");
<BR>scanf(\"%d\", &range[1]);
<BR>printf(&\"Please wait \\n\");
<BR>a=range[0];
<BR>b=range[1];
<BR>fw = fopen(\"Primenumbers.txt\",\"w\");
<BR>c=a; /*copia a in un\'altra variabile per non sovrascrivere il valore originario di a*/
<BR>/*if (c<=2) /*caso speciale a=2 poichè se no non verrebbe riconosciuo come primo*/
<BR>//{
<BR> //printf(\"Il numero \");
<BR> //printf(\"%d \" ,c);
<BR> //printf(\" è primo\");
<BR> //numerip[2]=true;
<BR>//}
<BR>h=1;
<BR>while(c<b)
<BR>{
<BR> d=2;
<BR> e=c/2;
<BR> primo=true; /*il numero viene classificato come primo*/
<BR> while(numerip[d]<=e){
<BR> f= c % numerip[d]; /*resto delle divisione del numero per d (variabile che va da 2 a c-1)*/
<BR> numerip[h]=0;
<BR> if (f==0) /*se il resto=0...*/
<BR> {
<BR> //printf(\"il numero \");
<BR> //printf(\"%d \" , c);
<BR> //printf(\" non Š primo, perchŠ divisibile per \");
<BR> //printf(\"%d \" , d); /*...allora viene scritto che il numero non è primo*/
<BR> //printf(\"\\n\");
<BR> primo=false; /*e viene anche memorizzato nella variabile temporanea*/
<BR> }
<BR> /*il numero viene inserito nell\'elenco come non-primo*/
<BR> d=d+1; /*si aumenta i divisore di 1 prima di ripetere l\'operazione*/
<BR> }
<BR> if (primo==true) /*se alla fine del clico il numero non ha mai dato resto 0 in una divisione*/
<BR> {
<BR> //printf(\"Il numero \"); /*il programma scrive che il numero è primo*/
<BR> //printf(\"%d \" , c);
<BR> //printf(\" Š primo \\n\");
<BR> numerip[h]=c; /*e il numero viene elencato nell\'array come primo*/
<BR> h=h+1;
<BR> }
<BR> c=c+1; /*si passa al numero successivo prima di ripetere il ciclo*/
<BR> printf(\"Ready : %d % \\r\", ((c*100)/(a*b)));
<BR>}
<BR>printf(\"I numeri primi compresi fra \");
<BR>printf(\"%d \" ,a);
<BR>printf(\" e \");
<BR>printf(\"%d \" ,b);
<BR>printf(\" sono: \\n\");
<BR>i=1;
<BR>while (i<=b)
<BR>{
<BR> if (numerip==1)
<BR> {
<BR> i=i+1;
<BR> }
<BR> if (numerip>0)
<BR> {
<BR> if (numerip<b) /*se nell\'elenco dell\'\'array alla voce il numeo è elencato come primo*/
<BR> {
<BR> printf(\"%d, \" ,numerip); /*il programma scrive che è primo (segue uno spazio)*/
<BR> fprintf(fw,\"%d, \" , numerip);
<BR> }
<BR> }
<BR> i=i+1; /*si aumenta i prima di ripetere il ciclo*/
<BR>}
<BR>}
<BR>
<BR>ma non posso andare oltre 250000 in questo modo