English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base C

Contrôle de flux C

Fonctions en C

Tableaux en C

Pointeurs en C

Chaînes de caractères en C

Structure C

Fichier C

Autres C

Manuel de référence C

Programme C vérifiant si un nombre peut être représenté comme la somme de deux nombres premiers

Recueil complet d'exemples de programmation C

Dans cet exemple, vous allez apprendre à vérifier si un entier entré par l'utilisateur peut être représenté comme la somme de deux nombres premiers possibles.

Pour comprendre cet exemple, vous devriez comprendre ce qui suitProgrammation en CSujet :

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

Si le nombre passé à la fonction estnombres premiers,checkPrime() retournera1。

Un nombre entier comme somme de deux nombres premiers

#include <stdio.h>
int checkPrime(int n);
int main() {
    int n, i, flag = 0;
    printf("Entrez un entier positif: ");
    scanf("%d", &n);
    for (i = 2; i <= n / 2; ++i) {
        //Les conditions pour que i soit un nombre premier
        if (checkPrime(i) == 1) {
            //n-Les conditions pour que i soit un nombre premier
            if (checkPrime(n - i) == 1) {
                printf("%d = %d + %d\n", n, i, n - i);
                flag = 1;
            }
        }
    }
    if (flag == 0)
        printf("%d ne peut pas être représenté comme la somme de deux nombres premiers.", n);
    return 0;
}
//Fonction de vérification des nombres premiers
int checkPrime(int n) {
    int i, isPrime = 1;
    for (i = 2; i <= n / 2; ++i) {
        if (n % i == 0) {
            isPrime = 0;
            break;
        }
    }
    return isPrime;
}

Résultat de la sortie

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

Recueil complet d'exemples de programmation C