Accueil de Gladir.com Notes légales de Gladir.com Flux RSS des nouvelles du site Gladir.com - Langage de programmation - C# (C Sharp) - Mathématique - Ackermann Section du logiciel DOS «MonsterBook» Inventaire de la bibliothèque de Gladir.com Entrée administrateur

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 C# (C Sharp) effectuant le calcul de la fonction d'«Ackermann» dans ses positions inférieures :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace AckermannSamples
  7. {
  8.     class Program
  9.     {
  10.         static int Ackermann(int M, int N)
  11.         {
  12.             if (M == 0) return N + 1;
  13.             else
  14.             {
  15.                 if (N == 0) return Ackermann(M - 1, 1);
  16.                 else return Ackermann(M - 1, (Ackermann(M, N - 1)));
  17.             }
  18.         }
  19.  
  20.         static void Main(string[] args)
  21.         {
  22.             int I, J;
  23.             for (I = 1; I <= 2; I++) for (J = 1; J <= 10; J++)
  24.                 {
  25.                     Console.WriteLine("Ackermann(" + I + "," + J + ")=" + Ackermann(I, J));
  26.                 } 
  27.         }
  28.     }
  29. }

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 25 mai 2012