Inleiding tot priemgetal in C ++

Wat is het priemgetal? Elk getal dat groter is dan 1 en het moet worden gedeeld door 1 of het getal zelf wordt een priemgetal genoemd. Aangezien priemgetallen niet door een ander getal kunnen worden gedeeld, moet dit alleen hetzelfde getal of 1 zijn. Hier is bijvoorbeeld de lijst met priemgetallen in C ++ die deelbaar zijn door 1 of het getal zelf.

Lijst met enkele priemgetallen

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

Je denkt misschien waarom 2 wordt beschouwd als een priemgetal? Nou, het is een uitzondering, daarom is 2 het enige priemgetal in de lijst dat ook even is. Slechts twee getallen zijn opeenvolgende natuurlijke getallen die ook priemgetallen zijn! Ook is 2 het kleinste priemgetal.

De logica achter het priemgetal is dat als u priemgetallen uit een lijst met getallen wilt zoeken, u de onderstaande logica moet toepassen:

Als het gegeven getal deelbaar is door zichzelf of 1, is 2 het enige even priemgetal dat een uitzondering is, dus onthoud altijd. Deel het gegeven getal door 2, als je een heel getal krijgt, kan het getal geen priemgetal zijn!

Behalve 2 en 3 kunnen alle priemgetallen worden uitgedrukt in de vorm 6n + 1 of 6n-1, n is een natuurlijk getal.

Er is geen enkel priemgetal dat eindigt op 5 dat groter is dan 5. Omdat logisch elk getal dat groter is dan 5 gemakkelijk kan worden gedeeld door 5.

Voor een meer duidelijke uitleg die alle bovengenoemde logica ondersteunt, is hier de tabel met alle priemgetallen tot 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

Priemgetallen met behulp van verschillende methoden

Laten we nu eens kijken hoe we priemgetallen kunnen vinden met behulp van verschillende methoden, zoals voor lus, lus, lus. De output zal in alle drie lusgevallen hetzelfde zijn, omdat logica hetzelfde is, alleen de implementatiemethode is anders.

We zullen dat door een C ++ -code afzonderlijk voor elke lus zien.

Voorbeeld 1

Een priemgetal vinden met behulp van voor lus

Code:

#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;
)

Output:

Zoals je in de bovenstaande code kunt zien, hebben we twee voor lussen genomen omdat we een lijst met priemgetallen nodig hebben die onder het gegeven nummer in ons programma zullen liggen. We hebben for loop opgenomen in een andere for loop om onze berekening eenvoudiger te maken. Een voorwaarde wordt toegevoegd via if statement om de lus te verbreken zodra we ons gegeven nummer in code hebben bereikt.

Voorbeeld 2

Een priemgetal vinden met behulp van voor lus met if-else

Code:

#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;
)

Output:

Voorbeeld 3

Een priemgetal vinden met de WHILE-lus met if-else

Code:

#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;
)

Output:

In de bovenstaande code hebben we gehele getallen gebruikt als een lager getal, een hoger getal, een tijdelijke variabele en een vlag. In eerste instantie nemen we twee getallen, want een invoer is lager, terwijl de andere hoger is. Als het lagere nummer groter is dan het hogere nummer, worden deze nummers eerst omgewisseld door een tijdelijke variabele om verder in code te gaan. Terwijl de lus nu volgt tot lager lager is dan hoger en voor lus, blijft de voorwaarde priemgetallen daartussen berekenen.

Conclusie

In kan priemgetallogica niet alleen in C ++ worden gebruikt, maar in elke programmeertaal. Van een kleine reeks getallen tot een grote hoeveelheid getallen, deze logica kan worden gebruikt om binnen enkele seconden een reeks priemgetallen te vinden volgens de vereisten zonder tijd te verspillen aan computerprogrammering.

Aanbevolen artikelen

Dit is een gids voor Prime Number in C ++. Hier bespreken we de lijst van enkele priemgetallen en verschillende methoden die worden gebruikt voor priemgetallen. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie–

  1. Vierkantswortel in PHP
  2. Ruilen in C ++
  3. IoT-apparaten
  4. Hashing-functie in C