C ++ Program for å sjekke om et tall kan uttrykkes som sum av to primtall

Eksempel for å sjekke om et heltall (angitt av brukeren) kan uttrykkes som summen av to primtall av alle mulige kombinasjoner ved bruk av funksjoner.

For å forstå dette eksemplet, bør du ha kunnskap om følgende C ++ programmeringsemner:

  • C ++ for Loop
  • C ++ hvis, hvis … annet og Nestet hvis … annet
  • C ++ funksjoner
  • Typer brukerdefinerte funksjoner i C ++

Dette programmet tar et positivt heltall fra brukeren og sjekker om tallet kan uttrykkes som summen av to primtall.

Hvis tallet kan uttrykkes som sum av to primtall, viser utgangen kombinasjonen av primtallene.

For å utføre denne oppgaven opprettes en brukerdefinert funksjon for å sjekke primtallet.

Eksempel: Sjekk om et tall kan uttrykkes som en sum av to primtall

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

Produksjon

 Skriv inn et positivt heltall: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

I dette programmet bruker vi checkPrime()funksjonen til å sjekke om et tall er primtall eller ikke.

I main()tar vi et nummer fra brukeren og lagrer det i variabelen n.

Vi initialiserer også et boolvariabelt flagg til false. Vi bruker denne variabelen for å bestemme om inngangstallet kan uttrykkes som summen av to primtall.

Vi gjentar deretter en løkke fra i = 2til i = n/2. I hver iterasjon sjekker vi om jeg er et primtall eller ikke.

Hvis jeg er en prime, sjekker vi om n - i er prime eller ikke.

Hvis n - i også er en prim, så vet vi at n kan uttrykkes som summen av to primtall i og n - i.

Så vi skriver ut resultatet på skjermen og endrer verdien på flagget til true. Ellers forblir flagget false.

Denne prosessen fortsetter til sløyfen slutter.

Hvis flagget er stille false, vet vi at n ikke kan uttrykkes som summen av to primtall, og vi skriver ut den meldingen på skjermen.

Interessante artikler...