Programme C pour vérifier si un nombre peut être exprimé sous forme de somme de deux nombres premiers

Dans cet exemple, vous apprendrez à vérifier si un entier saisi par l'utilisateur peut être exprimé comme la somme de deux nombres premiers de toutes les combinaisons possibles.

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation C suivants:

  • C if… else Déclaration
  • C pour boucle
  • Fonctions C
  • C Fonctions définies par l'utilisateur

Pour accomplir cette tâche, nous allons créer une fonction nommée checkPrime().

La checkPrime()renvoie 1 si le nombre passé à la fonction est un nombre premier.

Entier comme somme de deux nombres premiers

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

Production

Entrez un entier positif: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Articles intéressants...