Suomen ensimmäisen matematiikan professorin Simon Kexleruksen tehtävä:
”Sinulla on viinejä, jotka maksavat 3, 5, 8 ja 10 markkaa litralta. Tee 10 litraa sekoitusta, joka maksaa 6 markkaa litralta.” Oletetaan lisäksi, että sekoitukseen käytetään vain täysiä yhden litran pulloja. Anna vastaus lukunelikkona, jossa on peräkkäin 3 markan, 5 markan, 8 markan ja 10 markan viinien litramäärät.
x + y + z + w = 10.
Koko sekoituksen tulee maksaa 60 markkaa, minkä pitää olla sama kuin tarvittujen viinilajien yhteishinta:3x + 5y + 8z + 10w = 60.
Koska sekoitukseen käytetään vain täysiä yhden litran pulloja, etsittävänä on saadun yhtälöparin kokonaislukuratkaisut, kun muuttujille sallitaan arvot 0, 1, 2,
, 10.
Arvon 0 salliminen merkitsee, että kaikkia viinilajeja ei sekoitukseen tarvitse
käyttää.
Tietotekniikkaa hyödyntävä ajatuksellisesti helppo ratkaisu on kokeilla kaikki 114 vaihtoehtoa. Pseudokoodi voisi olla seuraava:
for x=0 to 10 for y=0 to 10 for z=0 to 10 for w=0 to 10 if x + y + z + w = 10 and 3x + 5y + 8z + 10w = 60 print (x,y,z,w) endif endfor endfor endfor endfor |
Tuloksena on seitsemän vastausta, jos sallitaan, että kaikkia viinilajeja ei tarvitse käyttää: (0, 8, 0, 2), (1, 5, 4, 0), (2, 4, 3, 1), (3, 3, 2, 2), (4, 0, 6, 0), (4, 2, 1, 3), (5, 1, 0, 4).
Kexlerus ei 1600-luvun Turun Akatemiassa varmaankaan ratkaissut tehtävää näin. Mitä perinteisempiä ratkaisutapoja olisi?
| Piilota ratkaisu |