Bonjour à tous,
Pourriez-vous m'aider à programmer la fonction suivante (en OCaml):
Fonction d'Ackermann de m et n avec 0≤m,n définie par les équations récursives suivantes:
A(0,n)=n+1
A(m+1,0)=A(m,1)
A(m+1,n+1)=A(m,A(m+1,n))
profil: (int*int)-> int
Je pensais m'en sortir avec des "if" en faisant:
let rec Ackermann (m,n)(int*int):int=
if m=0 then n+1
if n=1 then m-1
La récursivité m'aurait servie pour la dernière equation mais au final je bloque...J'imagine qu'il serait plus judicieux de faire un "match" mais je n'arrive pas à m'en sortir.
D'avance merci de votre aide.
Cordialement,
Mägodeoz
Partager