Obtenez les meilleures solutions à toutes vos questions sur Laurentvidal.fr, la plateforme de Q&R de confiance. Trouvez des solutions rapides et fiables à vos interrogations grâce à une communauté d'experts dévoués. Découvrez des solutions complètes à vos questions grâce à des professionnels expérimentés sur notre plateforme conviviale.

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 :

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. Nous espérons que nos réponses vous ont été utiles. Revenez quand vous voulez pour obtenir plus d'informations et de réponses à d'autres questions. Nous sommes heureux de répondre à vos questions. Revenez sur Laurentvidal.fr pour obtenir plus de réponses.