Oppure

Loading
02/02/09 10:17
sweetema
chi mi suggerisce un codice per un programma che determini e visualizzi i numeri primi compresi tra 1 e 10000??grazie in anticipo
aaa
02/02/09 13:19
gioser
parti dalla definizione di numero primo e pensaci su... non è difficile :)
aaa
02/02/09 18:38
sweetema
vabbè teoricamente posso dire che se considero un array,inizializzo a zero tutti i numeri pari e ad 1 tutti quelli dispari!!poi con un ciclo man mano che trovo un elemento uguale a 1, imposto a 0 tutti gli elementi il cui indice è multiplo dell'elemento trovato!!!così tutti gli indici degli elementi che restano uguale a 1 sono numeri primi!!!il problema è che non riesco a metterlo in pratica...sarà inesxienza????:d
aaa
03/02/09 9:07
gioser
Ultima modifica effettuata da gioser 03/02/09 9:08
aaa
06/02/09 13:49
sweetema
ciao,grazie xil link,ma non mi è stato di aiuto xkè c erano molte cose che non ho fatto...cmq..+o- ho risolto il problema,che ne pensi???
#include<iostream.h>

using namespace std;

int a[100];
int t;

void function0(int a[],int size, int value)
{
	for(int s=3;s<100;s++)
	{
	 int number;
	 number=t*s;
	 a[number]=0;

	}
}

int main()
{


	for(int x=0;x<100;x++)
	{
		if(x%2==0)
			a[x]=0;
		else
			a[x]=1;
	}

	for (t=3;t<100;t+=2)
	{
		if(a[t]==1)
			function0(a,100,t);

	}

	for(int g=0;g<100;g++)
	{
		if(a[g]==1)
			cout<<g<<"\n";
	}

	return 0;
}



:k:
aaa
09/02/09 12:10
gioser
Funzion quasi,

a) nella funzione function0 sfori un array :(

b) se dichiari una fuzione che prende dei parametri devi usarli :)


void function0(int a[],int size, int value)
{
	for(int s = 3; s * value < size; s++)
	{
	 int number;
	 number=value*s;
	 a[number]=0;

	}
}


a questo punto puoi spostare la dichiarazione di t dentro al main()

... e modificare tutto per farlo funzionare per 10000 invece di 100 :) ...

ciao :)
Ultima modifica effettuata da gioser 09/02/09 12:12
aaa
09/02/09 12:33
sweetema
grazieeeeee:D
aaa