Maison >développement back-end >C++ >Comment puis-je déterminer si un nombre est premier en C ?

Comment puis-je déterminer si un nombre est premier en C ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-04 22:49:41981parcourir

How Can I Determine if a Number is Prime in C?

Détermination de la primalité d'un nombre en C

Vous cherchez une méthode en C pour discerner si un entier donné est premier ou non. Pour les non-initiés, un nombre premier est un entier supérieur à un qui n'est divisible que par lui-même et par un.

Algorithme

Avant de nous plonger dans le code C, décrivons le algorithme de vérification des nombres premiers :

  1. Saisissez un nombre.
  2. Itérer sur tous les entiers de 2 à la racine carrée du nombre saisi.
  3. Si l'un de ces nombres entiers divise le nombre saisi sans laisser de reste, le nombre saisi n'est pas premier.
  4. Si aucun diviseur sont trouvés, le nombre d'entrée est premier.

C Implémentation

Armé de notre algorithme, traduisons-le en C :

#include <stdio.h>

int isPrime(int number) {
    if (number <= 1) return 0; // 0 and 1 are not prime
    int i;
    for (i = 2; i * i <= number; i++) {
        if (number % i == 0) return 0;
    }
    return 1;
}

int main() {
    int num;
    printf("Enter an integer: ");
    scanf("%d", &num);
    printf("%d is %s\n", num, isPrime(num) ? "prime" : "not prime");
    return 0;
}

Explication

  • Nous vérifions le bord cas où le nombre est inférieur ou égal à 1, car ils ne sont pas premiers.
  • A l'aide d'une boucle, on parcourir les diviseurs de 2 à la racine carrée du nombre saisi.
  • Si un diviseur donne un reste de 0, le nombre n'est pas premier.
  • Si aucun diviseur n'est trouvé, le nombre est déclaré premier.

Exemple d'utilisation

Entrée : 13
Sortie : 13 est premier

Entrée : 9
Sortie : 9 n'est pas premier

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn