Algorithme de calcul
En pseudo-code
Fonction Arrangements (n, k) Ank = 1 // Test aux limites Si k < 0 ou k > n alors Retourner 0 Fin Si // Calcul de Ank (boucle de i = n - k + 1 à n) i = n - k + 1 Tant que i < n + 1 Ank = Ank * i i = i + 1 Fin tant que Retourner Ank Fin fonction
En Java
int arrangements(final int n, final int k) { int Ank = 1; // Test aux limites if (k < 0 || k > n) { return 0; } // Calcul de Ank (boucle de i = n-k à n) for (int i = n - k + 1; i <= n; i++) { Ank *= i; } return Ank; }
En Pascal (Delphi)
function arrangements(n, k : integer):longint; var i : integer; begin // Test aux limites if (k < 0) or (k > n) then begin result := 0; exit; end; result := 1; // Calcul de Ank (boucle de i = n-k+1 à n) for i := n - k + 1 to n do result := result*i; end;