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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Fonction P(S,n)
Début
Si n=0 alors
retourner +8 ;
Sinon Si n=1 et V[1]=1
retourner S ;
Sinon Si S=0 alors
retourner 0 ;
Sinon
Pour i= 1 à n faire
Si S<V[i] alors
P(S,i)= P(S,i-1) ;
Nmin= P(S,i) ;
Sinon
P(S,i)= min(p(S,i-1) ;P(S-V[i]),i)+1) ;
Nmin= P(S,i) ;
Fin Si
Fin Pour
Fin Si
Fin Si
Fin Si
Retourner Nmin ;
Fin
Fonction R(V,P,S)
K= 1 ;
Si V[X]*P(S-V[i],X)> S alors
X= X-1 ;
Fin Si
Tant que (V[X]*P(S-V[i], X)<= S ) et ( k <= Nmin ) faire
j ? P(S-V[i],X) ;
Répéter
T[k] = V[X] ;
k = k+1 ;
j = j-1 ;
Jusqua : j=1
X = X-1 ;
Fin Tant que
Fin |
Partager