Adloun

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.