Solution Exercice 30 : Nombre de harshad en Python

Exercice 30

Un nombre entier est dit de harshad, s'il est divisible par la somme de ses chiffres. Exemple n = 21 est un nombre de harshad car il est divisible par 1+2=3 tandis que n=19 il ne l'est pas puis qu'il n'est pas divisible par la somme 1+9=10. Ecrire un programme en Python sous forme de fonction nommée est_harshad(n) qui prend en argument un nombre entier n et vérifie s'il est un nombre de Harshad par deux méthodes différentes: l'une en utilisant la fonction prédéfinie str() et l'autre sans utiliser cette fonction

Solution

Méthode 1 : (avec str())
Dans cette méthode nous allons suivre les étapes suivantes:

  1. Convertir le nombre en chaîne.
  2. Parcourir chaque caractère.
  3. Convertir chaque caractère en entier.
  4. Calculer la somme.
  5. Vérifier la divisibilité.

Code explicite

Méthode 2 : (sans str()), uniquement avec l’arithmétique
Dans cette deuxième méthode nous allons omettre la fonction str() et utiliser uniquement les procédures arithmétiques:

  1. Extraire le dernier chiffre par n % 10
  2. Ajouter au total.
  3. Supprimer le dernier chiffre avec n // 10
  4. Répéter jusqu’à ce qu’il n’y ait plus de chiffre.
  5. Vérifier la divisibilité.

Code explicite

 

 

Younes Derfoufi
CRMEF OUJDA




Leave a Reply

Your email address will not be published. Required fields are marked *