Divisibilité par 17 methode récursive

Fermé
sas - 11 mars 2010 à 21:33
 fredj - 12 mars 2010 à 08:29
bsr
svp j'ai besoin d'un algorithme de cet exercice :

toute entier N peut etre ecrit sous la forme N=10a+b,avec a et b deux entier .N nest divisible par 17 que ssi (a-5b) est divisible par 17
ecrie lalgo dune fnct recursive qui permet de verifie si un entir N do e est divisible par 17 ou non

1 réponse

Bonjour

Pour résoudre de façon récursive, il faut que la fonction traite les cas simples (petits nombre) et si c'est compliqué, qu'elle simplifie (s'approche des cas simples) avant de se rappeler elle-même.
Dans le problème le cas simple, c'est n<34 et dans le cas général n>33, on reporte la question sur a-5b qui sera alors plus petit.

fonction divisiblepar17(n)
si n<0 (attention (a-5b) peut être négatif)
n <- -1*n
si n < 34
(cas simples)
si n==0 ou n==17
return vrai
sinon
return faux
sinon
a <- n div 10 (division euclidienne)
b <- n mod 10 (reste de la division euclidienne)
return divisiblepar17(a-5b)

Voilà, je pense qu'il n'y a plus qu'à traduire dans le langage de ton choix.
0