Program C na kontrolu, či je možné číslo vyjadriť ako súčet dvoch prvočísel

V tomto príklade sa naučíte skontrolovať, či celé číslo zadané používateľom môže byť vyjadrené ako súčet dvoch prvočísel všetkých možných kombinácií.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku C:

  • C ak … iné vyhlásenie
  • C pre slučku
  • C Funkcie
  • C Užívateľom definované funkcie

Na splnenie tejto úlohy vytvoríme funkciu s názvom checkPrime().

Tieto checkPrime()vrací1 ak je číslo odovzdaný funkcii je prvočíslo.

Celé číslo ako súčet dvoch prvočísel

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

Výkon

Zadajte kladné celé číslo: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Zaujímavé články...