Ce tutoriel python vous montre comment trouver les diviseurs d’un entier.
Voici notre série d’articles de programmation python dans lesquels nous résolvons des problèmes mathématiques à l’aide de l’interpréteur python. Si vous êtes intéressé par d’autres problèmes mathématiques résolus avec python, essayez de jeter un œil à nos articles précédents. Cet article traitera de la recherche des diviseurs d’un nombre, un problème commun aux programmeurs. Ce défi revêt une importance mathématique et trouve des applications en cryptographie.
Pour trouver les diviseurs d’un nombre N, nous utiliserons une méthode de vérification directe en testant tous les nombres plus petits que N pour leur divisibilité. Nous allons donc commencer, comme d’habitude, par les définitions mathématiques nécessaires à la résolution du problème.
En savoir plus sur problème
Avant de l’implémenter, la connaissance préalable est essentielle. Ce mantra révèle sa vérité : même si vous êtes un programmeur exceptionnel, l’absence de compétences logiques, déductives et mathématiques vous empêchera de réaliser des tâches telles que la création d’un programme pour déterminer les diviseurs d’un nombre donné.
La définition du diviseur est assez simple et s’applique à tous les entiers. Elle est là:
Un entier b est un diviseur d’un entier a s’il existe un entier c tel que a = b⋅c
Cependant, nous pouvons donner une définition plus “opérationnelle”, qui nous fournit en même temps un outil de vérification immédiat (et que nous utiliserons dans notre code python).
Étant donné deux entiers a et b, avec b ≠ 0, on a que b est un diviseur de a si le reste de la division a : b est nul.
En notation mathématique, on peut représenter les diviseurs d’un entier “n” de la manière suivante :
Si “d” est un diviseur de “n”, cela s’exprime comme : d | n
Cela signifie que “d” divise “n” sans laisser de reste. En d’autres termes, “n” est divisible par “d” et la division “n ÷ d” donne un quotient entier.
Par exemple, pour l’entier 12, les diviseurs sont représentés comme suit :
1 | 12 (car 1 divise 12 sans reste)
2 | 12 (car 2 divise 12 sans reste)
3 | 12 (car 3 divise 12 sans reste)
4 | 12 (car 4 divise 12 sans reste)
6 | 12 (car 6 divise 12 sans reste)
12 | 12 (car 12 divise 12 sans reste)Cette notation aide à décrire formellement la relation de divisibilité entre les nombres et à identifier tous les diviseurs d’un entier donné.
Dès que nous connaissons la définition de diviseur, il est facile d’écrire un programme qui nous permettra de trouver tous les diviseurs d’un entier en un rien de temps. Comme d’habitude, nous vous recommandons de lire l’intégralité de l’explication pour comprendre chaque ligne de code et les étapes de base. Cependant, vous pouvez passer au bas de l’article pour télécharger le code complet.
Pour lire un entier à partir du clavier en Python, vous pouvez utiliser la méthode input()
par défaut de Python. Consultez l’article lié pour des explications plus détaillées sur cette méthode.
Bien sûr, voici le code sans les commentaires :
entier = int(input("Veuillez entrer un entier : "))
print("Vous avez saisi :", entier)
Ce code permet à l’utilisateur d’entrer un entier, puis l’affiche à l’écran.
Avec la ligne de code ci-dessus, l’interpréteur python lira une entrée au clavier et la convertira en entier avec la méthode int (). La valeur entière est stockée dans la variable « nombre », qui contient donc l’entier dont on souhaite identifier tous les diviseurs.
Remarque : en tant que bon programmeur, vous devez implémenter des lignes de contrôle dans votre code pour vérifier que, en fait, l’utilisateur a saisi un nombre supérieur à zéro. Par souci de simplicité, nous omettons cette vérification dans ce code.
Nous choisissons d’écrire un programme python qui imprime tous les diviseurs de l’entier entré par l’utilisateur à l’écran. Alternativement, les numéros pourraient être stockés dans une liste pour une utilisation ultérieure. Si vous êtes intéressé par cette variante ou d’autres variantes du programme, essayez de laisser un commentaire ci-dessous et je vous fournirai des explications alternatives. Continuons donc avec ce que nous avions prévu de faire, c’est-à-dire d’imprimer à l’écran tous les intercalaires du “nombre” lu au clavier. Vous trouverez ci-dessous le code python dont vous avez besoin.
Code Python pour afficher tous les diviseurs d’un entier donné à l’écran
Reconsidérons les opérations dans les trois lignes de code. D’abord, créons une boucle for parcourant les nombres de 1 à “number” inclus, en utilisant “range(1, number + 1)”.
La construction if est utilisée pour appliquer le contrôle sur le nombre. En fait, nous savons d’après la définition opératoire donnée ci-dessus que, si la division donne le reste zéro, alors “i” est un diviseur de “nombre”. L’opération%, en fait, ne représente pas le pourcentage mais est une opération python qui renvoie exactement le reste de la division entière. La condition du si sert donc à vérifier que le reste est exactement nul.
La dernière ligne affiche simplement le chiffre “i” à l’écran, en cas de vérification réussie.
Comme convenu, voici le code complet pour résoudre le problème initial. Il comporte deux opérations principales : la première consiste à lire un numéro depuis le clavier, tandis que la seconde parcourt tous les entiers de 1 jusqu’à ce numéro pour afficher les diviseurs à l’écran.
Exemple de code :
# Lire un numéro depuis le clavier
num = int(input("Entrez un numéro : "))
# Afficher tous les diviseurs de num
for i in range(1, num + 1):
if num % i == 0:
print(i)
Ce code permet de trouver et d’afficher tous les diviseurs du nombre saisi par l’utilisateur.
L’objectif de ce QCM Technicien de Maintenance Industrielle de préparation à l’entretien est de tester…
Le calcul des flux de trésorerie (ou cash flows) consiste à mesurer les entrées et…
Voici un guide détaillé sur la rédaction d'un QCM d'analyse financière, avec des exemples concrets…
Objectif : Cette fiche pratique explique les principaux ratios d'endettement, comment les calculer, et leur…
Ce guide vous aide à rédiger un QCM Analyse Financière structuré et pertinent sur l'analyse…
Le marketing de la mode est un domaine stratégique essentiel pour promouvoir une marque, une…
This website uses cookies.
View Comments
J'aime ça