Program C ++ za provjeru može li broj biti izražen kao zbroj dvaju osnovnih brojeva

Primjer provjere može li se cijeli broj (koji je unio korisnik) izraziti kao zbroj dvaju prostih brojeva svih mogućih kombinacija uz upotrebu funkcija.

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

  • C ++ za petlju
  • C ++ ako, ako … drugo i ugniježđeno ako … drugo
  • C ++ funkcije
  • Vrste korisnički definiranih funkcija u C ++

Ovaj program uzima od korisnika pozitivan cijeli broj i provjerava može li se taj broj izraziti kao zbroj dva prosta broja.

Ako se broj može izraziti kao zbroj dva prosta broja, izlaz prikazuje kombinaciju prostih brojeva.

Za izvršavanje ovog zadatka kreira se korisnički definirana funkcija za provjeru prost broja.

Primjer: Provjerite može li se broj izraziti kao zbroj dvaju prostih brojeva

 #include using namespace std; bool checkPrime(int n); int main() ( int n, i; bool flag = false; cout <> n; for(i = 2; i <= n/2; ++i) ( if (checkPrime(i)) ( if (checkPrime(n - i)) ( cout << n << " = " << i << " + " << n-i << endl; flag = true; ) ) ) if (!flag) cout << n << " can't be expressed as sum of two prime numbers."; return 0; ) // Check prime number bool checkPrime(int n) ( int i; bool isPrime = true; // 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; ) ) ) return isPrime; ) 

Izlaz

 Unesite pozitivan cijeli broj: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

U ovom programu koristimo checkPrime()funkciju za provjeru je li broj prost ili nije.

U main(), preuzimamo broj od korisnika i pohranjujemo ga u varijablu n.

Također inicijaliziramo boolzastavicu varijable u false. Ovu varijablu koristimo da odredimo može li se ulazni broj izraziti kao zbroj dva prosta broja.

Zatim ponovimo petlju od i = 2do i = n/2. U svakoj iteraciji provjeravamo je li i prost broj ili nije.

Ako je i primarno, provjeravamo je li n - i prost ili nije.

Ako je n - i također prost, tada znamo da se n može izraziti kao zbroj dva prosta broja i i n - i.

Dakle, ispisujemo rezultat na ekranu i mijenjamo vrijednost zastavice u true. Inače, zastava ostaje false.

Ovaj se postupak nastavlja sve dok petlja ne završi.

Ako je zastavica mirna false, tada znamo da se n ne može izraziti kao zbroj dvaju osnovnih brojeva, a tu poruku ispisujemo na zaslon.

Zanimljivi članci...