Laurentvidal.fr simplifie la recherche de solutions à toutes vos questions grâce à une communauté active et experte. Connectez-vous avec une communauté d'experts prêts à vous aider à trouver des solutions à vos questions de manière rapide et précise. Explorez une mine de connaissances de professionnels dans différentes disciplines sur notre plateforme de questions-réponses complète.

Bonsoir,
Je voudrais vous demander de l'aide concernant la programmation.
L'exercice consiste a ecrire un:
"Programme python qui affiche le nombre de diviseurs d’un entier n saisi"
Quelle fonction pourrait-etre utilisée?
Comment faire le comptage des valeurs listées dans la partie console?


Sagot :

Bonjour,

Le plus sauvage c'est de vérifier si chaque nombre inférieur à n divise n. (Très simple à implémenter mais complexité linéaire O(n)).

Sinon, on pourrait d'abord décomposer n en produit de nombre premier mais c'est bien plus compliqué à implémenter (la complexité de l'algorithme est par contre bien meilleur).

def nb_diviseurs(n):

   nb = 2 #1 divise tous les nombres et n divise n donc on les marque déjà pour gagner des opérations.

   for i in range(2, n): #i varie de 2 à n-1.

       if n%i == 0: #Si n est divisible par i (le reste de la division euclidienne est nul)

           nb += 1

   return nb

Bonne journée.

Nous espérons que nos réponses vous ont été utiles. Revenez quand vous voulez pour obtenir plus d'informations et de réponses à vos questions. Merci d'utiliser notre plateforme. Nous nous efforçons de fournir des réponses précises et à jour à toutes vos questions. Revenez bientôt. Vos questions sont importantes pour nous. Revenez régulièrement sur Laurentvidal.fr pour obtenir plus de réponses.