L’énoncé :
Soit B une boite en forme de pavé droit de hauteur L. à base rectangle de longueur lo et largeur la, ou lo,la et L sont des entiers naturels non nuls tels que laOn veut remplir la boite B avec des cubes tous identiques dont l’arête a est un entier naturel non nul (Les cubes devant remplir complètement la boite B sans laisser l’espace vide)
Question1 :
Ecrire un programme qui permet de déterminer la plus grand valeur possible pour a
NB : Utiliser la formulation récursive pour résoudre ce problème
Solution :
Nom : pgcd_récursive
S L.D.E OU
2
1
3
Résultat : écrire (‘’la plus grand valeur possible de a est :’’, fn pgcd(lo,fn pgcd(la,l))
(lo, la, l)= [] répéter
lo=données ("donner la longueur de base : ")
la = données (" donner la largeur de base : ")
l = données (" donner l’hauteur de boite : ")
jusqu’ a (lo>la) et ( lo>l)
fin pgcd_récursive Pgcd
Lo
La
L
Objet Type / Nature
Pgcd
Lo, la, l Fonction
entier
debut pgcd_récursive
1) répéter
Écrire ("donner la longueur de base : ") lire (lo)
Écrire (" donner la largeur de base : ") lire (la)
Ecrire (" donner l’hauteur de boite : ") lire(l)
jusqu’ à (lo>la) et ( lo>l)
2) écrire (‘’la plus grand valeur possible de a est :’’, fn pgcd (lo,fn pgcd(la,l))
3) fin pgcd_récursive
Deffn pgcd(x,y :entier) :entier
S L.D.E OU
1
2
Résultat : pgcd
Pgcd= [] si x=y alors pgcdßx
Sinon si x>y alors pgcdß pgcd(x-y, y)
Sinon pgcdß pgcd(x,y-x)
Fin si
Fin pgcd
début deffn pgcd(x,y :entier) :enter
si x=y alors pgcdß x
si non si x>y alors pgcdß pgcd(x-y,y)
Sinon pgcdß pgcd(x,y-x)
Fin si
2) fin pgcd