Numeri Primi in C++

di il
2 risposte

Numeri Primi in C++

Salve, sono nuovo in C++ e sono a fine seconda superiore. Premetto che conosco solo if, for, switch, while e do while... Sto facendo questo programma che dato un numero N dice se è primo o non ma questo non funziona. consigli?
#include <iostream>
using namespace std;
int main()
{
	int N, X, R;
	cout << "Inserisci un numero: " << endl;
	cin >> N;
	if (N>3)
	{
		for(X==2; X<100; X++)
		{
			if (N%X==0)
			{
				cout << "Il numero e\' primo";
			}
			else
			{
				cout << "Il numero non e\' primo";
			}
		}
	}
	else if (N==1 || N==2 || N==3)
	{
		cout << "Il numero e\' primo";
	}
	else if (N<1)
	{
		cout << "Il numero non e\' primo";
	}
	return 0;
}

2 Risposte

  • Re: Numeri Primi in C++

    1 non è un numero primo
    X==2 ti controlla se X è uguale a due: se vuoi iniziare il ciclo da due devi fare X=2
    se (N%X==0) per almeno un X < N allora N NON è primo, ma il controllo deve essere fatto su TUTTI gli X. Se non conosci l'istruzione break, metti una variabile booleana inizializzata a false prima del for, che poi diventa true se passa da quell'if; dopodiché FUORI dal ciclo for trai le tue conclusioni su N
  • Re: Numeri Primi in C++

    Grazie mille, ho fatto le modifiche e ho messo il break, ora funziona
Devi accedere o registrarti per scrivere nel forum
2 risposte