Bonjour à tous, j'aurais besoin d'aide car je ne comprend pas pourquoi ma procédure ne tourne pas.
Je crée une procédure Syracuse :
syracuse := proc (n) if irem(n, 2) = 0 then s(n) = (1/2)*n else s(n) = 3*n+1 end if end proc
Ensuite je crée une autre procédure qui appelle celle ci dessus avec une boucle while qui stop quand mon nombre n arrive à 1 et me donne le nombre d'étapes nécessaires pour arriver à 1 grâce à un compteur :
nombre_etapes := proc (n)
local p, i;
p := n;
i := 0;
while p <> 1 do p := syracuse(p);
i := i+1
end do;
return i ;
end proc;
et donc quand je valide cette procédure Maple bug et se ferme alors que ma procédure est juste (je pense).
Si quelqu'un a une idée, j'attends vos réponses, merci d'avance.
ps: Ce programme tourne chez d'autres personnes de ma promo mais bug chez certains comme moi. J'ai Maple 12 et le problème ne viens pas de la version apparement.
-----