Exemplu pentru a verifica dacă un număr întreg (introdus de utilizator) poate fi exprimat ca suma a două numere prime ale tuturor combinațiilor posibile cu utilizarea funcțiilor.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C ++:
- C ++ pentru buclă
- C ++ dacă, dacă … altfel și cuibărit dacă … altfel
- Funcții C ++
- Tipuri de funcții definite de utilizator în C ++
Acest program ia un număr întreg pozitiv de la utilizator și verifică dacă acel număr poate fi exprimat ca suma a două numere prime.
Dacă numărul poate fi exprimat ca suma a două numere prime, rezultatul arată combinația numerelor prime.
Pentru a efectua această sarcină, este creată o funcție definită de utilizator pentru a verifica numărul prim.
Exemplu: Verificați dacă un număr poate fi exprimat ca o sumă de două numere prime
#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; )
Ieșire
Introduceți un număr întreg pozitiv: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
În acest program, folosim checkPrime()
funcția pentru a verifica dacă un număr este sau nu prim.
În main()
, luăm un număr de la utilizator și îl stocăm în variabila n.
De asemenea, inițializăm un bool
steag variabil către false
. Folosim această variabilă pentru a determina dacă numărul de intrare poate fi exprimat ca suma a două numere prime.
Apoi iterăm o buclă de la i = 2
la i = n/2
. În fiecare iterație, verificăm dacă i este un număr prim sau nu.
Dacă i este prim, verificăm dacă n - i este prim sau nu.
Dacă n - i este, de asemenea, prim, atunci știm că n poate fi exprimat ca suma a două numere prime i și n - i.
Deci, imprimăm rezultatul pe ecran și schimbăm valoarea steagului în true
. În caz contrar, steagul rămâne false
.
Acest proces continuă până când se termină bucla.
Dacă steagul este încă false
, atunci știm că n nu poate fi exprimat ca suma a două numere prime și imprimăm acel mesaj pe ecran.