Bonjour à tous
Je développe une appli en VBA et j'aurais besoin de retrouver toutes les solutions de sommes de termes d'un nombre plus grand. exemple :
Voici mes nombre sources:
48 50 51 52 54 56 57 58 60 62 63 64
Voici le nombre à factoriser : 321
Solutions :
- 2*64+58+3*45
- 6*45+51
- 5*54+51
...
si je ne me trompe pas, cela reviendrait à trouver les solutions de :
321 = a*48 + b*50 + c*51 + d*52 + e*54 +...
sachant que le nombre à factoriser n'est jamais un nombre premier.
J'avais commencé à faire un code du genre :
NbPv=321
Nsource(12)=(48,50,51,52,54,56,57,58,60,62,63,64)
pour j = 1 à 12
si NbPv/Nsource(12-j) > 0
NbNsource = entier(NbPv / Nsource(12-j))
NbPv = NbPv - NbNsource*Nsource(12-j)
FinSi
Suivant
Mais je me retrouve avec une partie entière qui me gène.
est ce que vous avez déjà eu à faire une factorisation en somme de termes?
Quelle méthode vous semble abordable?
Merci beaucoup pour votre aide!
Pierre
Partager