Satun tykkäämään kovasti päässälaskusta ja erilaisista siihen liittyvistä tempuista. Mielestäni sopivan isojen lukujen kertolasku päässä on mainio tapa vaivata hoksottimiaan. Lisäksi päässälasku avaa tehokkaasti erilaisia yhteyksiä lukujen välillä ja kaiken kaikkiaan laajentaa matemaattisen ymmärryksen ja osaamisen skaalaa. Ja hei, jos jokin asia on yksinkertaisesti hauskaa, miksipä sitä ei harrastaisi!
Nyt päässälaskusta on tulossa hyvin ajankohtainen asia myös lukiossa, sillä Ylioppilastutkintolautakunta on keväästä 2016 alkaen uudistamassa sekä lyhyen että pitkän matematiikan koetta. Jatkossa kokeen neljään ensimmäiseen tehtävään vastataan ilman laskimia – avaus, joka ainakin oman kouluni kollegojen keskuudessa on otettu ehdottomasti oikeana ilolla vastaan. Meidän kokeissamme päässälaskuosio on ollut varsinkin alkupään kursseilla mukana jo muutamia vuosia. Odotan kiinnostuneena, kuinka tymäkkää matematiikkaa YTL abiturienteille neljään ensimmäiseen tehtävään tarjoilee.
Mutta asiaan. Selailin tovi sitten Theoni Pappasin hienoa opusta Lisää matematiikan iloja (Terra Cognita 2001), kun silmiini sattui mielenkiintoinen tapa laskea hieman helpotetusti suurehkojen lukujen tuloja – jos ei nyt ihan puhtaana päässälaskuna, niin sutjakasti kynällä ja paperilla kuitenkin. Pappasin mukaan kyseistä menetelmää kutsutaan venäläisen talonpojan kertolaskuksi.
Otetaan esimerkiksi vaikkapa tulo . Homma toimii seuraavasti: jaetaan toista luvuista toistuvasti kakkosella. Jakojäännöksestä ei tarvitse välittää, vain kokonaiset lasketaan. Näin edetään, kunnes ollaan päästy ykköseen. Viereiseen sarakkeeseen aletaan puolestaan kertoa toista luvuista toistuvasti kakkosella. Kun ollaan päästy yhtä pitkälle kuin vasemmalla, vedetään yli kaikki ne luvut, jotka vastaavat parillista lukua vasemmanpuoleisessa sarakkeessa. Jäljelle jäävät luvut lasketaan yhteen, ja halutun tulon arvo on saatu.
Kysymys kuuluukin, että miksi tämä menetelmä toimii mille tahansa kokonaislukujen tulolle. Ratkaisu on tässä.
Tämä toimii, koska kyseessä on vain erittäin näppärästi merkittyä allekkain kertolaskua, kun lukuja käsitellään binäärijärjestelmässä.
Koska tämä menetelmä toimii pelkillä yhteenlaskuilla ja lukujen siirroilla vasemmalle ja oikealle, sillä ohjelmoi kevyesti kertolaskun sellaisen prosessorista puuttuessa tai muuten siltä tuntuessa. Itse tutustuin tähän menetelmään juurikin leikkiessäni erittäin rajoitetulla konekielellä. Tämän algoritmin toteutus ja erityisesti optimointi ovat mielestäni hauskoja harjoituksia konekieliohjelmoinnista kiinnostuneille!
Mainiota, Petri, näin juuri! Näkisin mielelläni sen Minecraft-ympäristösi.