Featured image of post Code source simple en langage C pour générer et déterminer les nombres premiers dans une plage spécifiée

Code source simple en langage C pour générer et déterminer les nombres premiers dans une plage spécifiée

Nous présentons un code source simple en langage C qui détermine, génère et énumère les nombres premiers dans une plage spécifiée (de 1 à n). Il comprend un algorithme efficace utilisant la fonction isPrime, avec un exemple d'implémentation de programmation facile à comprendre même pour les débutants, et des explications.

Voici un code C simple qui génère des nombres premiers dans une plage spécifiée. Dans cet exemple, nous énumérons les nombres premiers de 1 à n.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdbool.h>

bool isPrime(int num) {
    if (num <= 1) return false;
    if (num <= 3) return true;
    if (num % 2 == 0 || num % 3 == 0) return false;
    
    for (int i = 5; i * i <= num; i += 6) {
        if (num % i == 0 || num % (i + 2) == 0) return false;
    }
    return true;
}

void printPrimes(int n) {
    printf("2 ");
    for (int i = 3; i <= n; i += 2) {
        if (isPrime(i)) {
            printf("%d ", i);
        }
    }
    printf("\n");
}

int main() {
    int n;
    printf("Veuillez entrer la valeur maximale de la plage pour générer des nombres premiers : ");
    scanf("%d", &n);
    printf("Les nombres premiers de 1 à %d sont les suivants :\n", n);
    printPrimes(n);
    return 0;
}

Ce code fonctionne de la manière suivante :

  1. Fonction isPrime : Détermine si un nombre donné est premier. Par souci d’efficacité, on vérifie d’abord s’il est divisible par 2 et 3, puis on procède à la vérification par multiples de 6.
  2. Fonction printPrimes : Produit les nombres premiers dans une plage spécifiée. Le 2 est affiché en premier, puis seuls les nombres impairs sont vérifiés.
  3. Fonction main : Demande à l’utilisateur de saisir la valeur maximale de la plage et affiche les nombres premiers dans cette plage.

Si vous compilez et exécutez ce code, les nombres premiers dans la plage spécifiée seront affichés.

comments powered by Disqus
Généré avec Hugo
Thème Stack conçu par Jimmy