Piemērs, lai pārbaudītu, vai vesels skaitlis (ko ievadījis lietotājs) ir primārais skaitlis, vai to neizmanto ciklam un, ja vēl … paziņojums.
Lai saprastu šo piemēru, jums jāzina par šādām C ++ programmēšanas tēmām:
- C ++, ja, ja … cits, un Nested, ja … cits
- C ++ lokam
- C ++ pārtraukums un turpiniet paziņojumu
Pozitīvs vesels skaitlis, kas dalās tikai ar 1 un ir pats par sevi zināms, ir galvenais skaitlis.
Piemēram: 13 ir galvenais skaitlis, jo tas dalās tikai ar 1 un 13, bet 15 nav galvenais skaitlis, jo tas dalās ar 1, 3, 5 un 15.
Piezīme: 0 un 1 nav galvenie skaitļi.
Piemērs: pārbaudiet Prime Number
#include using namespace std; int main() ( int i, n; bool isPrime = true; cout <> n; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) ) ) if (isPrime) cout << n << " is a prime number"; else cout << n << " is not a prime number"; return 0; )
Rezultāts
Ievadiet pozitīvu veselu skaitli: 29 29 ir galvenais skaitlis.
Šī programma ņem no lietotāja pozitīvu veselu skaitli un saglabā to mainīgajā n.
Ievērojiet, ka loģiskais mainīgais isPrime tiek inicializēts true
programmas sākumā.
Tā kā 0 un 1 nav galvenie skaitļi, vispirms mēs pārbaudām, vai ievadītais skaitlis ir viens no šiem skaitļiem vai nav. Ja ievades numurs ir vai nu 0, vai 1 , tad isPrime vērtība tiek iestatīta uz false
.
Citādi isPrime sākotnējā vērtība netiek mainīta un for
tiek izpildīta cilpa, kas pārbauda, vai lietotāja ievadītais skaitlis ir pilnīgi dalāms ar i vai nē.
for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) )
for
Cilpa iet no i == 2
līdz i <= n / 2
un palielina vērtību i par 1 ar katru atkārtojuma.
Cilpa beidzas ar, i == n / 2
jo mēs nevaram atrast nevienu faktoru n, kas pārsniedz skaitli n / 2
. Tātad, visas atkārtotās darbības n / 2
ir liekas.
Ja lietotāja ievadītais skaitlis ir pilnīgi dalāms ar i, tad isPrime ir iestatīts uz false
un skaitlis nebūs galvenais skaitlis.
Bet, ja ievades numurs nav pilnīgi dalāms ar i visā cilpas laikā, tad tas nozīmē, ka ievades numurs dalās tikai ar 1 un šo skaitli pats.
Tātad dotais skaitlis ir galvenais skaitlis.
Gadījumā n == 2
, for
cilpa neizdodas palaist, un isPrime vērtība paliek true
.