Adloun

OCaml (option informatique) · Chapitre 1 · Exercice de TD

Suite définie par récurrence mutuelle

Découvrir OCaml : expressions, valeurs et types · niveau 3 (difficile)

É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.)

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre