Program C ++ za preverjanje, ali je število mogoče izraziti kot vsoto dveh osnovnih števil

Primer preverjanja, ali lahko celo število (ki ga vnese uporabnik) izrazimo kot vsoto dveh praštevil vseh možnih kombinacij z uporabo funkcij.

Če želite razumeti ta primer, morate poznati naslednje programske teme C ++:

  • C ++ za Loop
  • C ++ if, if … else in ugnezdeni if ​​… else
  • Funkcije C ++
  • Vrste uporabniško določenih funkcij v C ++

Ta program od uporabnika vzame pozitivno celo število in preveri, ali je to število mogoče izraziti kot vsoto dveh praštevil.

Če lahko število izrazimo kot vsoto dveh praštevil, je na izhodu prikazana kombinacija praštevil.

Za izvajanje te naloge je ustvarjena uporabniško določena funkcija za preverjanje glavnega števila.

Primer: Preverite, ali je številko mogoče izraziti kot vsoto dveh osnovnih števil

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

Izhod

 Vnesite pozitivno celo število: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

V tem programu s checkPrime()funkcijo preverjamo, ali je število prosto ali ne.

V uporabniku main()vzamemo številko in jo shranimo v spremenljivko n.

Tudi boolspremenljivo zastavico inicializiramo v false. S to spremenljivko določimo, ali je vhodno število mogoče izraziti kot vsoto dveh praštevil.

Nato ponovimo zanko od i = 2do i = n/2. V vsaki ponovitvi preverimo, ali je i prosto število ali ne.

Če je i prime, preverimo, ali je n - i prost ali ne.

Če je n - i tudi praštevilo, potem vemo, da lahko n izrazimo kot vsoto dveh osnovnih števil i in n - i.

Rezultat torej natisnemo na zaslon in spremenimo vrednost zastavice v true. V nasprotnem primeru zastava ostane false.

Ta postopek se nadaljuje, dokler se zanka ne konča.

Če je zastavica mirna false, potem vemo, da n ni mogoče izraziti kot vsoto dveh osnovnih številk, in to sporočilo natisnemo na zaslon.

Zanimive Članki...