Adloun

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

L'algorithme d'Euclide

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

Énoncé

Écrire une fonction récursive pgcd calculant le PGCD de deux entiers naturels, par l'algorithme d'Euclide ( et ). La tester mentalement sur pgcd 30 12.

Corrigé

let rec pgcd a b =
  if b = 0 then a
  else pgcd b (a mod b)

Déroulé de pgcd 30 12 : pgcd 12 6 (car ) pgcd 6 0 (car ) renvoie 6. Le cas de base b = 0 est atteint car le reste a mod b décroît strictement et reste positif : la suite des seconds arguments est une suite d'entiers naturels strictement décroissante, donc finie.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre