Numero primo in C ++ - Trova numeri primi usando vari metodi

Sommario:

Anonim

Introduzione al numero primo in C ++

Qual è il numero primo? Qualsiasi numero maggiore di 1 e deve essere diviso per 1 o il numero stesso è chiamato numero primo. Poiché i numeri primi non possono essere divisi per nessun altro numero, dovrebbe essere solo lo stesso numero o 1. Ad esempio, ecco l'elenco dei numeri primi in C ++ che sono divisibili per 1 o per il numero stesso.

Elenco di alcuni numeri primi

2 3 5 7 11 13 17 19 23 29 31 37 41…

Potresti pensare perché 2 è considerato un numero primo? Bene, è un'eccezione, quindi 2 è l'unico numero primo nell'elenco che è anche pari. Solo due numeri sono numeri naturali consecutivi, anch'essi primi! Inoltre, 2 è il numero primo più piccolo.

La logica dietro il numero primo è che se si desidera trovare numeri primi da un elenco di numeri, è necessario applicare le logiche indicate di seguito:

Se il numero dato è divisibile per se stesso o 1, 2 è l'unico numero primo pari che è un'eccezione, quindi ricorda sempre. Dividi il numero dato per 2, se ottieni un numero intero, il numero non può essere primo!

Tranne 2 e 3, tutti i numeri primi possono essere espressi in 6n + 1 o 6n-1, n è un numero naturale.

Non esiste un solo numero primo che termina con 5 che è maggiore di 5. Perché logicamente qualsiasi numero maggiore di 5 può essere facilmente diviso per 5.

Per una spiegazione più chiara che supporti tutta la logica sopra indicata ecco la tabella di tutti i numeri primi fino a 401:

2 3 5 7 11 13 17 19 23
29 31 37 41 43 47 53 59 61 67
71 73 79 83 89 97 101 103 107 109
113 127 131 137 139 149 151 157 163 167
173 179 181 191 193 197 199 211 223 227
229 233 239 241 251 257 263 269 271 277
281 283 293 307 311 313 317 331 337 347
349 353 359 367 373 379 383 389 397 401

Numeri primi con vari metodi

Ora vediamo come trovare i numeri primi usando vari metodi come for loop, while loop, do-while loop. L'output sarà lo stesso in tutti e tre i casi di loop perché la logica è la stessa, solo il modo di implementare è diverso.

Lo vedremo attraverso un codice C ++ separatamente per ogni ciclo.

Esempio 1

Trovare un numero primo usando for loop

Codice:

#include
#include
using namespace std;
int main() (
int x; // Declaring a variable x
cout << "Please enter the number : "; // cout to get the input value from user
cin >> x;
cout << "Here is the list of all the prime numbers Below "<< x << endl;
for ( int m=2; m for ( int n=2; n*n<=m; n++)
(
if ( m % n == 0)
break;
else if ( n+1 > sqrt (m)) (
cout << m << endl;
)
)
return 0;
)
#include
#include
using namespace std;
int main() (
int x; // Declaring a variable x
cout << "Please enter the number : "; // cout to get the input value from user
cin >> x;
cout << "Here is the list of all the prime numbers Below "<< x << endl;
for ( int m=2; m for ( int n=2; n*n<=m; n++)
(
if ( m % n == 0)
break;
else if ( n+1 > sqrt (m)) (
cout << m << endl;
)
)
return 0;
)

Produzione:

Come puoi vedere nel codice sopra, ne abbiamo presi due per i loop perché abbiamo bisogno di un elenco di numeri primi che sarà inferiore al numero indicato nel nostro programma. Abbiamo incluso il ciclo per un altro ciclo per facilitare il nostro calcolo. Una condizione viene aggiunta attraverso l'istruzione if per interrompere il ciclo una volta raggiunto il nostro numero specificato nel codice.

Esempio n. 2

Trovare un numero primo usando for loop con if-else

Codice:

#include
using namespace std;
int main ()
(
int number, x, count = 0;
cout << "Please enter the number to check if it's prime or not : " << endl;
cin >> number;
if ( number == 0)
(
cout << "\n" << number << " This number is not prime";
exit(1);
)
else (
for ( x=2; x < number; x++)
if ( number % x == 0)
count++;
)
if ( count > 1)
cout << "\n" << number << " This number is not prime.";
else
cout << "\n" << number << " This is prime number.";
return 0;
)

Produzione:

Esempio n. 3

Trovare un numero primo usando il ciclo WHILE con if-else

Codice:

#include
using namespace std;
int main()
(
int lower, higher, flag, temporary;
cout << "Please enter the two numbers for finding prime numbers between them: "<< endl;
cin >> lower >> higher;
if ( lower > higher) ( //It will swap the numbers if lower number is greater than higher number.
temporary = lower;
lower = higher;
higher = temporary;
)
cout << "Hence the Prime numbers between the number " << lower << " and " << higher << " are: "<< endl;
while ( lower < higher)
(
flag = 0;
for ( int x = 2; x <= lower/2; ++x)
(
if ( lower % x == 0)
(
flag = 1;
break;
)
)
if ( flag == 0)
cout << lower << " ";
++lower;
)
return 0;
)

Produzione:

Nel codice sopra, abbiamo preso numeri interi come un numero più basso, un numero più alto, una variabile temporanea e un flag. Inizialmente, prendiamo due numeri come input uno è più basso mentre l'altro è più alto. Nel caso in cui il numero inferiore sia maggiore del numero più alto, questi numeri verranno scambiati prima attraverso una variabile temporanea per spostarsi ulteriormente nel codice. Ora, mentre il ciclo seguirà fino a quando inferiore è inferiore a quello superiore e per ciclo, la condizione continuerà a calcolare i numeri primi tra di loro.

Conclusione

In, la logica dei numeri primi può essere utilizzata non solo in C ++ ma in qualsiasi linguaggio di programmazione. Da una piccola serie di numeri a una grande quantità di numeri, questa logica può essere utilizzata per trovare una serie di numeri primi in base alle esigenze in pochi secondi senza perdere tempo nella programmazione del computer.

Articoli consigliati

Questa è una guida al numero primo in C ++. Qui discutiamo l'elenco di alcuni numeri primi e vari metodi utilizzati per i numeri primi. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Radice quadrata in PHP
  2. Scambio in C ++
  3. Dispositivi IoT
  4. Funzione di hash in C