Adloun

L'algorithme d'Euclide

Exercice · OCaml (option informatique), chapitre 1 — Découvrir OCaml : expressions, valeurs et types

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

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.