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,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 |