Muutama kuukausi sitten esittelin vuosilukukilpailun tälle vuodelle. Kilpailun tavoitteena on muodostaa luvut yhdestä sataan käyttäen vuosiluvussa 2015 esiintyviä numeroita sekä peruslaskutoimitusten lisäksi joukkoa matemaattisia funktioita. Vaikka säännöt olivat melko väljät, jäi sadan luvun listalta lopulta kaksi lukua muodostamatta. Sääntöjen puitteissa luvut 83 ja 93 näyttäisivät nimittäin olevan sen verran haasteellisia, ettei niitä tahdo pystyä muodostamaan annetuilla sääntötyökaluilla. Jonkin aikaa pyörittelin erilaisia ratkaisumalleja, kunnes jouduin lopulta toteamaan nämä kaksi lukua mahdottomiksi. Tänä vuonna luvut syntyivät suhteellisen helposti kahdessa illassa ja vain muutamia lukuja jouduin pohtimaan hieman pidempään.
Kilpailun sääntöjen mukaan sama luku voidaan ratkaista kuitenkin useilla eri tavoilla. Esimerkiksi luku 25 on esitettävissä lausekkeena 5^(2+0*1), joka ensi alkuun näyttää turhan monimutkaiselta etenkin, kun saman luvun voi ilmaista myös lausekkeella 20*1+5, joka on jo huomattavasti yksinkertaisempi. Jälkimmäinen ratkaisumalli ei tosin ole kovin elegantti, koska siinä numerot 2 ja 0 on yhdistetty. Ensiksi esitetyssä ratkaisussa tosin numerojen järjestys on vaihdettu, kun niitä vertaa vuosiluvun 2015 numerojen järjestykseen. Säännöt tosin sallivat tämänkaltaisen yhdistelyn ja järjestelyn. Mielestäni edellä esitetty monimutkaisempi ratkaisu kunnioittaa enemmän kilpailun henkeä, koska siinä kaikki numerot ovat itsenäisiä, vaikkakin lopputuloksena on hieman sotkuisen näköinen lauseke. Jälkimmäisen ratkaisun numerojen järjestys puolestaan kunnioittaa sääntöjen henkeä säilyttää numerot alkuperäisessä järjestyksessä. Vastausten pisteytys ei välttämättä ole helppoa. Etusijalla ovat ratkaisut, joissa numerot ovat vuosiluvun numerojen järjestyksessä. Toisaalta mitä yksinkertaisempi lauseke on, sitä paremmat pisteet se saa.
Esittelen tässä alla ratkaisuehdotukseni. Tarkistin ratkaisuni taulukkolaskentaohjelmalla, jossa muodostin kysytyn numeron kehittelemälläni lausekkeella. Käyttämässäni englanninkielisessä Google Docs -taulukkolaskentasovelluksessa kertomafunktiona käytin FACT()-funktiota. Kaksoiskertomaa (!!) varten sovelluksesta löytyy FACTDOUBLE()-funktio. Neliöjuurta varten käytin SQRT()-funktiota ja potenssiin korotin POW()-funktiolla. Potenssiin korotus on merkitty lausekkeissani ^-merkillä. Ratkaisuilleni löytyy varmasti vieläkin yksinkertaisempia muotoja, mutta nämä ratkaisut ovat ne ensimmäiset, jotka tulivat mieleeni. Lisää erilaisia ratkaisumalleja löytyy The Math Forum -sivuston vuosilukukilpailun vastaussivulta.
Vuosilukukilpailun 2015 ratkaisuja
1 = -2 - 0! - 1 + 5 2 = -2 - 0 - 1 + 5 3 = -2 + 0 * 1 + 5 4 = 2 * 0 - 1 + 5 5 = 2 * 0 * 1 + 5 6 = 2 * 0 + 1 + 5 7 = 2 + 0 * 1 + 5 8 = 2 + 0 + 1 + 5 9 = 2 + 0! + 1 + 5 10 = 2 * (0 + 1) * 5 11 = 2 * 5 + 0 + 1 12 = 2 * 5 + 0! + 1 13 = -2 + 0 * 1 + 5!! 14 = (2 + 0!) * 5 - 1 15 = (2 + 0 + 1) * 5 16 = (2 + 0!) * 5 + 1 17 = 2^(5 - 0!) + 1 18 = (2 + 0!) * (1 + 5) 19 = (2 + 0! + 1)! - 5 20 = (2 + 0! + 1) * 5 21 = -2 - 0! + (-1 + 5)! 22 = -2 + 0 + (-1 + 5)! 23 = -2 + 0! + (-1 + 5)! 24 = 2 * 0 + (-1 + 5)! 25 = 5^(2 + 0 * 1) 26 = 5^2 + 0 + 1 27 = 5^2 + 0! + 1 28 = -2 + (0! + 1) * 5!! 29 = (2 + 0! + 1)! + 5 30 = 2^5 - 0! - 1 31 = (2 + 0)^5 - 1 32 = (2 + 0 * 1)^5 33 = (2 + 0)^5 + 1 34 = 2^5 + 0! + 1 35 = (2 + 0!) / .1 + 5 36 = (2 + 0!)! * (1 + 5) 37 = (0! + 5)^2 + 1 38 = (5 - 0!) / .1 - 2 39 = 5! / (2 + 0!) - 1 40 = (2 + 0! + 1)!! * 5 41 = 5! / (2 + 0!) + 1 42 = (5 - 0!) / .1 + 2 43 = ((2 + 1)!)!! - 0 - 5 44 = ((2 + 0!)!)!! + 1 - 5 45 = (2 + 0!)! / .1 - 5!! 46 = (2 + 0!) * 5!! + 1 47 = -2 - 0! + 5 / .1 48 = -2 + 0 + 5 / .1 49 = -2 + 0! + 5 / .1 50 = 2 * 0 + 5 / .1 51 = 2 - 0! + 5 / .1 52 = 2 + 0 + 5 / .1 53 = 2 + 0! + 5 / .1 54 = ((2 + 0!)!)!! + 1 + 5 55 = (2 + 0!)! / .1 - 5 56 = (2 + 0!)! + 5 / .1 57 = ((2 + 0!)!)! * .1 - 5!! 58 = 5! / 2 - 0! - 1 59 = (5 - 2)! / .1 - 0! 60 = (2 + 0! + 1) * 5!! 61 = (5 - 2)! / .1 + 0! 62 = 2 + (0! + 5) / .1 63 = 2^(1 + 5) - 0! 64 = 2^(0 + 1 + 5) 65 = 2^(1 + 5) + 0! 66 = (2 + 0!)! * SQRT(1 + 5!) 67 = ((2 + 0!)!)! * .1 - 5 68 = 20 + (1 + 5)!! 69 = 21 + (0! + 5)!! 70 = 20 + 5 / .1 71 = 5! - ((2 + 0!)!)!! - 1 72 = (2 + 0!) * (-1 + 5)! 73 = 5! - ((2 + 0!)!)!! + 1 74 = 2 + .1 * (0! + 5)! 75 = (2 + 0!)! / .1 + 5!! 76 = .1^(-2) - (5 - 0!)! 77 = ((2 + 0!)!)! * .1 + 5 78 = (5 - 0!)!! / .1 - 2 79 = (5!! + 0!) / .2 - 1 80 = 2 * (5 - 0!) / .1 81 = (2 + 0!)^(-1 + 5) 82 = 2 + (5 - 0!)!! / .1 83 = 84 = .1^(-2) - 5!! - 0! 85 = 0.1^(-2) - 5!! 86 = .1^(-2) - 5!! + 0! 87 = ((2 + 0!)!)! * .1 + 5!! 88 = 5! - SQRT(2^10) 89 = (2 + 0!)! * 5!! - 1 90 = 5! - (2 + 0!) / .1 91 = (2 + 0!)! * 5!! + 1 92 = .1^(-2) - (5 - 0!)!! 93 = 94 = .1^(-2) - 0! - 5 95 = 2 * (1 + 5)!! - 0! 96 = -(2 + 0! + 1)! + 5! 97 = 2 * (1 + 5)!! + 0! 98 = ((2 + 0!)!)!! + 5 / .1 99 = 2 * 5 / .1 - 0! 100 = 2 / 0.1 * 5