Program C pentru a verifica dacă un număr poate fi exprimat ca sumă de două numere prime

În acest exemplu, veți învăța să verificați dacă un număr întreg introdus de utilizator poate fi exprimat ca suma a două numere prime ale tuturor combinațiilor posibile.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C:

  • C dacă … altfel Declarație
  • C pentru Loop
  • Funcții C
  • C Funcții definite de utilizator

Pentru a realiza această sarcină, vom crea o funcție numită checkPrime().

Cele mai checkPrime()întoarce 1 dacă numărul trecut la funcția este un număr prim.

Întreg ca o sumă de două numere prime

#include int checkPrime(int n); int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for i to be a prime number if (checkPrime(i) == 1) ( // condition for n-i to be a prime number if (checkPrime(n - i) == 1) ( printf("%d = %d + %d", n, i, n - i); flag = 1; ) ) ) if (flag == 0) printf("%d cannot be expressed as the sum of two prime numbers.", n); return 0; ) // function to check prime number int checkPrime(int n) ( int i, isPrime = 1; for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = 0; 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 

Articole interesante...