C Programma om te controleren of een getal kan worden uitgedrukt als een som van twee priemgetallen

In dit voorbeeld leer je controleren of een door de gebruiker ingevoerd geheel getal kan worden uitgedrukt als de som van twee priemgetallen van alle mogelijke combinaties.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C-programmeeronderwerpen:

  • C if… else Statement
  • C voor Loop
  • C Functies
  • C Door de gebruiker gedefinieerde functies

Om deze taak te volbrengen, maken we een functie met de naam checkPrime().

Het checkPrime()geeft 1 terug als het getal dat aan de functie wordt doorgegeven een priemgetal is.

Geheel getal als een som van twee priemgetallen

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

Uitvoer

Voer een positief geheel getal in: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Interessante artikelen...