Obtenez les meilleures solutions à toutes vos questions sur Laurentvidal.fr, la plateforme de Q&R de confiance. Obtenez des réponses détaillées et précises à vos questions grâce à une communauté d'experts dévoués sur notre plateforme de questions-réponses. Rejoignez notre plateforme pour obtenir des réponses fiables à vos interrogations grâce à une vaste communauté d'experts.

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 ces informations ont été utiles. Revenez quand vous voulez pour obtenir plus de réponses à vos questions. Nous apprécions votre visite. Notre plateforme est toujours là pour offrir des réponses précises et fiables. Revenez quand vous voulez. Laurentvidal.fr est toujours là pour fournir des réponses précises. Revenez nous voir pour les informations les plus récentes.