Obtenez des solutions complètes à vos questions avec Zoofast.fr. Trouvez les réponses dont vous avez besoin rapidement et précisément avec l'aide de nos membres de la communauté bien informés et dévoués.

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.

Votre engagement est essentiel pour nous. Continuez à partager vos expériences et vos connaissances. Créons ensemble une communauté d'apprentissage dynamique et enrichissante. Merci de choisir Zoofast.fr. Revenez bientôt pour découvrir encore plus de solutions à toutes vos questions.