"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je déterminer si un entier est premier en C ?

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

Publié le 2025-01-19
Parcourir:301

How Can I Determine if an Integer is Prime in C?

Détermination de la primalité en C

Votre demande visant à déterminer si un entier donné est premier en C soulève un défi de programmation intrigant. Décomposons les étapes pour y parvenir :

  1. Initialiser une boucle : Parcourir les nombres allant de 2 jusqu'à un de moins que l'entier donné.
  2. Vérifiez la divisibilité : Pour chaque nombre de la boucle, calculez le reste en divisant l'entier par ce nombre. Si le reste est zéro et que le nombre n'est pas l'entier lui-même, il n'est pas premier.
  3. Répétez l'étape 2 : Continuez à parcourir les nombres jusqu'à ce que vous atteigniez la racine carrée de l'entier.
  4. Renvoyer le résultat : Si aucun nombre dans la boucle n'a donné lieu à des diviseurs, l'entier est premier. Sinon, ce n'est pas premier.

En C#, votre code implémente cet algorithme comme suit :

static bool IsPrime(int number)
{
    for (int i = 2; i 

Adaptation à C :

Pour traduire ce code en C, nous devons apporter quelques modifications mineures :

  1. C ne ont un type booléen, nous utilisons donc un entier à la place, renvoyant 1 pour premier et 0 pour non premier.
  2. C99 a introduit l'en-tête stdbool.h, qui définit bool, mais si votre environnement ne prend pas en charge C99, vous pouvez utiliser un entier comme mentionné ci-dessus.

Le code C modifié suivant effectue la même tâche :

int IsPrime(unsigned int number)
{
    if (number 

Ce code vérifie la divisibilité jusqu'à la racine carrée de l'entier pour optimiser les performances et gère les cas non premiers tels que zéro et un.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3