|
La fabuleuse fonction d'«Ackermann» de 1926, laquelle, lorsqu'on met des chiffres de plus en plus gros dans le premier paramètre, augmente beaucoup plus vite que l'exponentiel!
Sa formule est cité dans presque tous les livres de récursivité, mais paradoxalement, son nom, Wilhelm Ackermann, est difficile à trouver!
Voici un code source LotusScript effectuant le calcul de la fonction d'«Ackermann» dans ses positions inférieures:
Function Ackermann(M As Integer,N As Integer) As Long
If M = 0 Then
Ackermann=N + 1
Else
If N = 0 Then
Ackermann=Ackermann(M-1,1)
Else
Ackermann=Ackermann(M-1,(Ackermann(M,N-1)))
End If
End If
End Function
Sub Main()
Dim I As Integer
Dim J As Integer
For I = 1 To 2
For J = 1 To 10
Print "Ackermann(" &Str$(I) &"," & Str$(J) &")=" &Str$(Ackermann(I, J))
Next
Next
End Sub
|
on obtiendra le résultat suivant:
Ackermann( 1, 1)= 3
Ackermann( 1, 2)= 4
Ackermann( 1, 3)= 5
Ackermann( 1, 4)= 6
Ackermann( 1, 5)= 7
Ackermann( 1, 6)= 8
Ackermann( 1, 7)= 9
Ackermann( 1, 8)= 10
Ackermann( 1, 9)= 11
Ackermann( 1, 10)= 12
Ackermann( 2, 1)= 5
Ackermann( 2, 2)= 7
Ackermann( 2, 3)= 9
Ackermann( 2, 4)= 11
Ackermann( 2, 5)= 13
Ackermann( 2, 6)= 15
Ackermann( 2, 7)= 17
Ackermann( 2, 8)= 19
Ackermann( 2, 9)= 21
Ackermann( 2, 10)= 23
|
Voir également
Science - Mathématique
|
|
| Dernière mise à jour: Vendredi, le 10 mars 2006 |