C ++ programma, lai pārbaudītu, vai skaitlis ir galvenais vai nav

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 trueprogrammas 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 fortiek 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; ) ) 

forCilpa iet no i == 2līdz i <= n / 2un palielina vērtību i par 1 ar katru atkārtojuma.

Cilpa beidzas ar, i == n / 2jo mēs nevaram atrast nevienu faktoru n, kas pārsniedz skaitli n / 2 . Tātad, visas atkārtotās darbības n / 2ir liekas.

Ja lietotāja ievadītais skaitlis ir pilnīgi dalāms ar i, tad isPrime ir iestatīts uz falseun 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, forcilpa neizdodas palaist, un isPrime vērtība paliek true.

Interesanti raksti...