Divisibilité par 17 methode récursive
sas
-
fredj -
fredj -
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
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
A voir également:
- Divisibilité par 17 methode récursive
- Java runtime environment 17 - Télécharger - Langages
- Télécharger magix music maker 17 premium gratuit - Télécharger - Création musicale
- 17 track avis - Forum Consommation & Internet
- 17/25 sur 20 - Forum Bureautique
- Je ne reçois plus les chaines 8 15 16 17 18 ✓ - Forum TNT / Satellite / Réception
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.
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.