Controllare se un numero è un NUMERO PRIMO
Definizione
Un numero è un numero primo solo se è divisibile per 1 e se stesso.
Se dividiamo il 5 per un numero diverso da 5 o da 1 il resto sarà diverso da zero quindi per quel numero il 5 non sarà divisibile.
PSEUDOCODIFICA
VAR N:integer;
R:integer;
conta:integer;
K:bool;
BEGIN
DO
OUTPUT("Inserire un numero intero maggiore di 0");
INPUT(N);
WHILE(N< =0)
CONTA = 2;
K = TRUE;
WHILE((CONTA < INT(SQRT(N)) + 1 ) AND (K = TRUE))
R = N MOD 2;
IF(R = 0) THEN
K = FALSE;
ENDIF
CONTA = CONTA + 1;
ENDWHILE
IF(K = TRUE) THEN
OUTPUT("Il numero ", N, " è un numero primo");
ELSE
OUTPUT("Il numero ", N, " non è un numero primo")
ENDIF
END.
C++
#include
#include
using namespace std;
int main()
{
int n;
int r;
int conta;
bool k;
do
{
cout < < "Inserire un numero intero maggiore di 0" << endl; cin >> n;
}while(n < = 0);
conta = 2;
k = true;
while((conta < int(sqrt(n))+1) && (k == true))
{
r = n % conta;
if(r == 0){
k = false;
}
conta++;
}
if(k== true){
cout << "Il numero " << n << " e' un numero primo" << endl;
}else{
cout << "Il numero " << n << " non e' un numero primo" << endl;
}
system("pause");
}
Normally I’m against killing but this article slegthuerad my ignorance.