Nombre harshard [bac scientifique]

un nombre harshard et un entier qui est divisible par la somme de ses chiffres.exemple: 198 est un sombre harshard.

en effet 198 est divisible par la somme de ses chiffres qui est 18 (1+9+8=18).

travail demandé:

ecrire un algorithme qui permet de rechercher et d’afficher tout les nombres harshard de l’intervalle [n,m] (avec 100<=n<m) et dont le prédécesseur de chacun est premier.

N.B: on appelle qu’un sombre est dit premier s’il est divisible uniquement par 1 et par lui meme. par définition, 1 n’est pas considéré comme étant un nombre premier.

exemple:

pour n=100 et m=135

Le programme affiche les nombres harshard suivants

102 car 102 est harshard et son prédécesseur 101 est un nombre premier.

108 car 102 est harshard et son prédécesseur 101 est un nombre premier.

108 car 108 est harshard et son prédécesseur 107 est un nombre premier.

110 car 110 est harshard et son prédécesseur 109 est un nombre premier.

114 car 114 est harshard et son prédécesseur 113 est un nombre premier.

132 car 132 est harshard et son prédécesseur 131 est un nombre premier.

Afficher la solution

Algorithme harshad 
Debut
Repeter
lire(n)
lire(m)
jusqu’à(100<=n<=m)
Pour i de n à m faire 
       d←divisible(i)
       P← premier(i-1)
      Si (d=vrai) et (p=vrai) alors
              ecrire(i, ‘car’,i, ‘est harshard et son predecesseur’, i-1,’est un nombre premier’)
      Fin si
      ecrire_nl()
Fin pour
T.D.O.G
ObjetType/nature
ientier
dentier
pentier
divisiblefonction
premierfonction
Fonction divisible(a:entier):booleen
Debut
     S←somme(a)
     Si (a mod s =0) alors
           Test←vrai
     Sinon
           Test ← faux
     Fin si
     Retourner test
Fin
T.D.O.L
ObjetType/nature
sentier
testbooleen

Fonction somme(b:entier):entier
Debut
    Ch←convch(b)
    S←0
     Pour i de 0 à long(ch)-1 faire
          S← s+valeur(ch[i])
    Fin pour
    Retourner s
Fin
T.D.O.L
ObjetType/nature
chchaine
ientier
sentier

Leave a Reply

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