next up previous contents index
suivant: La traduction de l'algorithme monter: Suite de Hamming précédent: L'algorithme à l'aide d'un   Table des matières   Index

L'algorithme sans faire un crible

Supposons que l'on ait trouvé les premiers éléments de cette suite par exemple : 2,3,4,5.
L'élément suivant est obtenu en multipliant une des cases précédentes par 2, 3 ou 5.
Le problème c'est d'avoir les éléments suivants dans l'ordre....
Comment trouver lélément suivant de H:=[2,3,4,5] :
on a déja multiplié H[0]=2 par 2 pour obtenir 4 donc
on peut multiplier H[1]=3 par 2 pour obtenir m=6 ou
multiplier H[0]=2 par 3 pour obtenir p=6 ou
multiplier H[0]=2 par 5 pour obtenir q=10.
L'élément suivant est donc 6=min(6,6,10) et H:=[2,3,4,5,6].
Maintenant, on a déja multiplier H[0]=2 par 2 et par 3 pour obtenir 4 et 6 et
on a déja multiplier H[1]=3 par 2 pour obtenir 6 donc
donc
on peut multiplier H[2]=4 par 2 pour obtenir m=8 ou
multiplier H[1]=3 par 3 pour obtenir p=9 ou
multiplier H[0]=2 par 5 pour obtenir q=10.
L'élément suivant est donc 8=min(8,9,10) et H:=[2,3,4,5,6,8].
Pour que chaque terme de la suite soit multiplié par 2, par 3 et par 5, il faut donc pévoir 3 indices :
k0 qui sera l'indice de l'élément qu'il faut multiplier par 2,
k1 qui sera l'indice de l'élément qu'il faut multiplier par 3,
k2 qui sera l'indice de l'élément qu'il faut multiplier par 5.
Cela signifie que :
pour tout r<k0 les 2*H[r] ont déjà été rajoutés,
pour tout r<k1 les 3*H[r] ont déjà été rajoutés,
pour tout r<k2 les 5*H[r] ont déjà été rajoutés,
Naturellement k0$ \geq$ k1$ \geq$ k2.
Les 3 candidats pour être l'élément suivant sont donc :
2*H[k0], 3*H[k1], 5*H[k2]
l'un de ces éléments est plus petit que les autres et on le rajoute à la suite. Il faut alors augmenter l'indice correspondant de 1 : par exemple si c'est 3*H[k1] qui est le minimum il faut augmenter k1 de 1 et si 3*H[k1]= 5*H[k2] est le minimum, il faut augmenter k1 et k2 de 1.
next up previous contents index
suivant: La traduction de l'algorithme monter: Suite de Hamming précédent: L'algorithme à l'aide d'un   Table des matières   Index
Documentation de giac écrite par Renée De Graeve