Bienvenue sur Zoofast.fr, votre plateforme de référence pour toutes vos questions! Découvrez des réponses détaillées et précises à vos questions de la part de nos membres de la communauté bien informés et dévoués.

Bonjour j'ai un peu de mal à faire mon exercice à rendre pour demain , est-ce-qu'il y aurait quelqu'un pour m'éclairer ?

Voici l'énoncé :

On souhaite avoir une fonction nb_zeros qui détermine le nombre de zéros à la fin de l'écriture décimale d'un entier n > 0, très grand.
On s'interdit, ici, d'utiliser la fonction de conversion str.
Cette méthode est totalement inefficace avec des nombres très grands. On demande plutôt de compter combien de fois on peut diviser un nombre par 10 avec un reste égal à zéro.
Par exemple, 1. 42000 = 4200×10 + 0, 2. 4200 = 420×10 + 0, 3. 420 = 42×10 + 0, 4. 42 n'est pas divisible par 10.
On a pu diviser 42000 trois fois par 10 avec un reste égal à 0.
Ce nombre se finit donc par 3 zéros.

Code :

def nb_zeros(n):










assert nb_zeros(42000) == 3 = 1
assert nb_zeros(3210) == 0
assert nb_zeros(282475249)
assert nb_zeros(7**10000) == 0
assert nb_zeros(7**10000 * 1000) 3​

Sagot :

Merci de contribuer à notre discussion. N'oubliez pas de revenir pour découvrir de nouvelles réponses. Continuez à poser des questions, à répondre et à partager des informations utiles. Merci d'avoir choisi Zoofast.fr. Nous espérons vous revoir bientôt pour plus de solutions.