Program C ++ za provjeru je li broj prost ili nije

Primjer za provjeru je li cijeli broj (koji je unio korisnik) prost broj ili ga ne koristi for petlja i if … else izraz.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja na C ++:

  • C ++ ako, ako … drugo i ugniježđeno ako … drugo
  • C ++ za petlju
  • C ++ razbiti i nastaviti Izjavu

Pozitivni cijeli broj koji je djeljiv samo s 1 i sam je poznat kao prost broj.

Na primjer: 13 je prost broj jer je djeljiv samo s 1 i 13, ali 15 nije prost broj jer je djeljiv s 1, 3, 5 i 15.

Napomena: 0 i 1 nisu prosti brojevi.

Primjer: Provjerite glavni broj

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

Izlaz

 Unesite pozitivan cijeli broj: 29 29 je prost broj.

Ovaj program od korisnika uzima pozitivan cijeli broj i pohranjuje ga u varijablu n.

Primijetite da je logička varijabla isPrime inicijalizirana truena početku programa.

Budući da 0 i 1 nisu prosti brojevi, prvo provjeravamo je li ulazni broj jedan od tih brojeva ili nije. Ako je ulazni broj 0 ili 1 , tada je vrijednost isPrime postavljena na false.

Inače, početna vrijednost isPrime ostaje nepromijenjena i forpetlja se izvršava, čime se provjerava je li broj koji je korisnik unio savršeno djeljiv s i ili nije.

 for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = false; break; ) ) 

forPetlja traje od i == 2do i <= n / 2i povećava vrijednost: i od 1 sa svakom iteracijom.

Petlja se završava na i == n / 2jer ne možemo pronaći bilo koji faktor za n izvan broja n / 2 . Dakle, bilo kakva ponavljanja n / 2suvišna su.

Ako je broj koji je korisnik unio savršeno djeljiv s i, tada je isPrime postavljeno na falsei broj neće biti prost broj.

Ali ako ulazni broj nije savršeno djeljiv s i tijekom cijele petlje, to znači da je ulazni broj djeljiv samo s 1 i samim tim brojem.

Dakle, zadani broj je prost broj.

U slučaju n == 2, forpetlja se ne može pokrenuti i vrijednost isPrime ostaje true.

Zanimljivi članci...