On calcule la somme des chiffres d'un entier n, puis la somme des chiffres du résultat, puis la somme des chiffres du résultat... et ainsi de suite jusqu'à ce que le résultat soit lui-même un chiffre.
L'entier de départ est multiple de 3 si et seulement si ce dernier résultat est égal à 0, 3, 6 ou 9.
Écrire une fonction python s'appuyant sur le principe précédent :
Entrée | Un entier naturel n. |
---|---|
Sortie | True si n est multiple de 3, False sinon. |
- un code
def sommeDesChiffres(n, s = 0) :
if 0 <= n <= 9 : return n + s
else : return sommeDesChiffres(n//10, s + n%10)
def sommeJusquauChiffre(n) :
if 0 <= n <= 9 : return n
else : return sommeJusquauChiffre(sommeDesChiffres(n))
def estMultipleDe3(n) :
return sommeJusquauChiffre(n) in (0,3,6,9)
for i in range(50) :
print("Pour {} : {}.".format(i, sommeDesChiffres(i)))
for i in range(50) :
if estMultipleDe3(i) : print(i, end=", ")