Úvod do prvočísla v C ++
Jaké je hlavní číslo? Jakékoli číslo, které je větší než 1 a mělo by být vyděleno 1 nebo samotné číslo, se nazývá prvočíslo. Protože prvočísla nelze dělit žádným jiným číslem, mělo by to být pouze stejné číslo nebo 1. Například zde je seznam prvočísel v C ++, které jsou dělitelné buď 1 nebo samotným číslem.
Seznam některých čísel Prime
2 3 5 7 11 13 17 19 23 29 31 37 41…
Možná si myslíte, proč je 2 považováno za prvočíslo? Je to výjimka, proto 2 je jediné prvočíslo v seznamu, které je také sudé. Pouze dvě čísla jsou po sobě jdoucí přirozená čísla, která jsou také prvořadá! Také 2 je nejmenší prvočíslo.
Logika za prvočíslem je, že pokud chcete najít prvočísla ze seznamu čísel, musíte použít níže uvedenou logiku:
Pokud je dané číslo dělitelné samo o sobě nebo 1, 2 je jediné sudé prvočíslo, což je výjimka, tak si vždy pamatujte. Vydělte dané číslo 2, pokud dostanete celé číslo, pak číslo nemůže být prvočíslo!
Kromě 2 a 3 mohou být všechna prvočísla vyjádřena ve formě 6n + 1 nebo 6n-1, n je přirozené číslo.
Neexistuje jediné prvočíslo, které končí číslem 5, které je větší než 5. Protože logicky může být jakékoli číslo, které je větší než 5, snadno dělitelné číslem 5.
Pro jasnější vysvětlení, které podporuje všechny výše uvedené logiky, je zde tabulka všech prvočísel do 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 |
Počáteční čísla pomocí různých metod
Nyní se podívejme, jak najít prvočísla pomocí různých metod, jako jsou smyčky, smyčky, smyčky do-while. Výstup bude stejný ve všech třech případech smyčky, protože logika je stejná, jediný způsob implementace je odlišný.
Uvidíme to prostřednictvím kódu C ++ zvlášť pro každou smyčku.
Příklad č. 1
Hledání prvočísla pomocí smyčky
Kód:
#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;
)
Výstup:
Jak můžete vidět ve výše uvedeném kódu, vzali jsme dvě smyčky, protože potřebujeme seznam prvočísel, která budou pod daným číslem v našem programu. Abychom usnadnili náš výpočet, zahrnuli jsme smyčku do jiné smyčky. Podmínka je přidána skrz if příkaz k přerušení smyčky, jakmile dosáhneme našeho daného čísla v kódu.
Příklad č. 2
Hledání prvočísla pomocí smyčky s if-else
Kód:
#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;
)
Výstup:
Příklad č. 3
Nalezení prvočísla pomocí WHILE smyčky s if-else
Kód:
#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;
)
Výstup:
Ve výše uvedeném kódu jsme vzali celá čísla jako nižší číslo, vyšší číslo, dočasnou proměnnou a příznak. Zpočátku bereme dvě čísla, protože vstupní je nižší, zatímco druhé je vyšší. V případě, že nižší číslo je větší než vyšší číslo, budou tato čísla nejprve zaměněna dočasnou proměnnou, aby se posunula dále v kódu. Nyní, zatímco smyčka bude sledovat, dokud nebude nižší než vyšší a pro smyčku, podmínka bude nadále počítat prvočísla mezi nimi.
Závěr
Logiku prvočísel lze použít nejen v C ++, ale v libovolném programovacím jazyce. Od malé sady čísel po velké množství čísel lze tuto logiku použít k nalezení sady prvočísel podle požadavků během několika sekund, aniž by došlo ke ztrátě času při programování v počítači.
Doporučené články
Toto je průvodce číslem Prime v C ++. Zde diskutujeme seznam některých prvočísel a různých metod používaných v prvočíslech. Další informace naleznete také v dalších navrhovaných článcích -
- Square Root v PHP
- Zaměňování v C ++
- Zařízení internetu věcí
- Hashing funkce v C