Une fonction qui compte
Exercice supplémentaire · niveau 1 (application) · mathématiques approfondies (ECG 1re année), chapitre 11 — Informatique et algorithmique · Premiers pas en Python
Énoncé
Écrire une fonction compte_multiples(n) renvoyant le nombre d'entiers de à divisibles par . La tester pour et , et donner la formule que le résultat doit vérifier.
Corrigé
Ce qu'on montre. Qu'un comptage est un compteur initialisé à , incrémenté sous condition — et qu'on contrôle toujours le résultat par une formule.
Le programme.
def compte_multiples(n):
"""Nombre d'entiers de 1 a n divisibles par 3."""
c = 0
for k in range(1, n + 1): # n+1 pour inclure n
if k % 3 == 0: # reste nul dans la division par 3
c = c + 1
return c
print(compte_multiples(10)) # 3
print(compte_multiples(100)) # 33
Les résultats. Pour , les multiples de sont , , : il y en a . Pour , le dernier est : il y en a .
La formule de contrôle. Les multiples de inférieurs ou égaux à sont exactement où est le plus grand entier vérifiant . Donc On vérifie : et , conformes aux affichages.
Point délicat. range(1, n + 1) et non range(1, n) : la borne haute est exclue, et l'oublier ferait manquer lui-même. C'est visible pour : avec range(1, 3) la fonction renverrait au lieu de .
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.