Om een bepaalde gewenste massa via een klassieke weegschaal af te wegen, beschik je over twee soorten gewichten, met respectieve massa's $$\verb!massa_zwaar!$$ en $$\verb!massa_licht!$$. Je hebt $$\verb!aantal_zwaar!$$ zware gewichten en $$\verb!aantal_licht!$$ lichte gewichten. In deze oefening zoeken we alle combinaties van lichte en zware gewichten (zonder er meer te gebruiken dan er voorhanden zijn) om een massa af te wegen die in het argument $$\verb!gewenst!$$ gegeven wordt. De argumenten zijn allen gehele getallen, groter of gelijk aan 0. We stellen een oplossing voor door het koppel $$(a,b)$$, en er moet dus gelden: \begin{eqnarray} &a \times massa\_zwaar + b\times massa\_licht = gewenst\\ &0 \le a \le aantal\_zwaar\\ &0 \le b \le aantal\_Licht \end{eqnarray} We stockeren oplossingen onder deze gedaante het resultaat van de functie $$\verb!gewichten()!$$. Dit resultaat is dus een lijst van tuples. De argumenten van deze functie zijn respectievelijk $$\verb!massa_zwaar!$$, $$\verb!massa_licht!$$ en $$\verb!gewenst!$$ Zorg dat de oplossingen gesorteerd zijn volgens stijgende waarden van $$a$$. Indien geen oplossingen bestaan, is de resultaatlijst leeg.

Argumenten

Vijf gehele getallen, namelijk $$\verb!massa_zwaar!$$, $$\verb!massa_licht!$$, $$\verb!aantal_zwaar!$$, $$\verb!aantal_licht!$$ en $$\verb!gewenst!$$ allen groter dan of gelijk aan 0.

Resultaat

Een lijst van tuples die de oplossingen bevat, in stijgende volgorde van $$a$$.

Voorbeeld

gewichten(5, 1, 3, 15, 14) = [(0, 14), (1, 9), (2, 4)]
gewichten(9, 2, 5, 5, 31) = [(3, 2)]
gewichten(7, 3, 5, 5, 18) = []