Salut à tous,
Voici mon problème :
Soit l'application F : N x {1,...,d} x {1,...,dCi} x {1,...,i} -----> {1,...,d}
(d, i, j, k) -----> f(d, i, j, k)
où dCi est le nombre de combinaisons de i parmi d.
Les variables i, j et k dépendent de d.
Pour ses valeurs je vais donner des exemples :
pour d = 1 :
f(1, 1, 1, 1) = 1
pour d = 2 :
f(2, 1, 1, 1) = 1
f(2, 1, 2, 1) = 2
f(2, 2, 1, 1) = 1
f(2, 2, 1, 2) = 2
pour d = 3 :
f(3, 1, 1, 1) = 1
f(3, 1, 2, 1) = 2
f(3, 1, 3, 1) = 3
f(3, 2, 1, 1) = 1
f(3, 2, 1, 2) = 2
f(3, 2, 2, 1) = 1
f(3, 2, 2, 2) = 3
f(3, 2, 3, 1) = 2
f(3, 2, 3, 2) = 3
f(3, 3, 1, 1) = 1
f(3, 3, 1, 2) = 2
f(3, 3, 1, 3) = 3
et ainsi de suite.
J'ai écrit une fonction récursive (Delphi) qui la calcule mais il y a eu problème :
Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 function F(D, I, J, K : integer) : integer; var Cpt, S, R : integer; begin if J = 1 then Result := K else begin S := 0; R := 1; for Cpt := I downto K do begin S := F(D, I, J - 1, Cpt) + R; if S = D + Cpt - I + 1 then begin S := D + Cpt - I; R := 1 end else R := 0; if F(D, I, J - 1, Cpt) = D + Cpt - I then S := Cpt + 1 // ici le problème end; Result := S end; end;
Toute aide sera la bienvenue.
Merci
Partager