2010-07-14 6 views
1

J'ai un problème mathématique qui se présente comme suit:toutes les combinaisons possibles

J'ai un conteneur qui contient un total de 21000 kilos. J'ai 4 articles A, B, C, D.

Article A poids 1 kilo. Poids de l'article B 4 kilos. Article C poids 5 kilos. Item D poids 5 kilos aussi.

Je cherche un algorithme qui parcourra toutes les combinaisons possibles en gardant l'équation ci-dessus. par exemple:

{20000, 0, 0, 200} ->20000 * 1 + 0 * 4 + 0 * 5 + 200 * 5 = 21000 kilos.

{19996, 1, 0, 200} ->19996 * 1 + 1 * 4 + 0 * 5 + 200 * 5 = 21000 kilos.

+3

Affectation des devoirs? – dthorpe

+0

@dthorpe Ça me plaît. – spinon

+2

Etes-vous sûr de vouloir parcourir toutes les combinaisons possibles? Qu'est-ce que vous essayez de faire exactement? Résoudre le problème de sac à dos? http://en.wikipedia.org/wiki/Knapsack_problem –

Répondre

1

Vous devez résoudre a + 4b + 5c + 5d = 20000 (a,b,c,d >=0)

ou a + 4b = 2000 - 5e = 5(400-e)e = c + d

si a + 4b peut être 0, 5, 10, 15, 20, ..., 2000

vous pouvez facilement trouver al l valeurs possibles de a et b de dessus

après que vous connaissez la valeur de e = c + d, à partir de là, vous pouvez facilement trouver toutes les valeurs possibles de c et d.

+0

Veuillez utiliser les options de formatage à l'avenir :) –

Questions connexes