Suite définie par récurrence mutuelle
Exercice · OCaml (option informatique), chapitre 1 — Découvrir OCaml : expressions, valeurs et types
Énoncé
On définit deux suites par , , et pour : , . Écrire u et v (de type int -> int). Que reconnaît-on ?
Corrigé
let rec u n =
if n = 0 then 1 else u (n - 1) + v (n - 1)
and v n =
if n = 0 then 1 else u (n - 1)
Comme , on a : on reconnaît la suite de Fibonacci (décalée). Le let rec ... and ... est ici indispensable, car u et v se référencent mutuellement. (Cette définition recalcule énormément ; on apprendra plus tard à l'accélérer.)
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.