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

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

DDD
DDDoriginal
2024-12-31 22:10:15317parcourir

How to Determine if a Number is Prime in C?

Détermination des nombres premiers en C

Pour vérifier si un entier donné est premier, commençons par décrire les étapes à suivre :

  1. Initialiser une variable de boucle i à 2.
  2. Test si i est inférieur au nombre d'entrée.
  3. Vérifiez si le nombre modulo i est égal à zéro, indiquant une non-primalité potentielle .
  4. Gérer le cas d'exception où i est égal à un nombre, ce qui ne peut pas réfuter primalité.
  5. Incrémenter i et répéter les étapes 2 à 4.
  6. Retour vrai (ou 1) si aucun diviseur n'a été trouvé, en indiquant le nombre est premier ; sinon, renvoie false (ou 0).

Maintenant, traduisons cet algorithme en code C :

int IsPrime(unsigned int number) {
    if (number <= 1) return 0; // Handle special cases
    unsigned int i;
    for (i = 2; i*i <= number; i++) {
        if (number % i == 0) return 0; // Number has divisors
    }
    return 1; // No divisors found, number is prime
}

Cette fonction suit les étapes décrites :

  • Il gère les cas négatifs et spéciaux (0 et 1 ne sont pas premiers).
  • Il parcourt les diviseurs potentiels jusqu'à la racine carrée de nombre.
  • Il teste efficacement les diviseurs exacts.

Bien que cette méthode ne soit pas optimisée pour les performances, elle fournit une solution claire et compréhensible pour déterminer les nombres premiers en C.

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