MIKKO RAHIKKA

The electrical things have their lives too, paltry as those lives are.


Kuukausikoodi -ongelma

Tässä on mielenkiintoinen pulma ratkaistavaksi. Ongelmana on keksiä koodiarvo kuukausien nimissä esiintyville kirjaimille. Kun kuukauden kirjaimen koodiarvot lasketaan yhteen, niiden summan pitää vastata kyseisen kuukauden järjestysnumeroa. Lupaan yhden euron rahapalkinnot ensimmäisille henkilöille, joka ratkaisevat Ongelmat 2 ja 3. Idea tähän tehtävään tuli Futility Closetista

Alla on esimerkki englanninkielisestä ratkaisusta. Tässä ratkaisussa englanninkielisissä kuukausien nimissä (JANUARY, FEBRUARY, …)  esiintyvät kirjaimet ovat BJFGSDNRMLATPHOCIYVEU. Koodataan siten, että B saa arvon –10, J arvon –9, … ja E arvon 9 ja U arvon 11.

Koodi Pythonin dictionaryna.

{'B': -10, 'J': -9, 'F': -8, 'G': -7, 'S': -6, 'D': -5, 'N': -4, 'R': -3, 'M': -2, 'L': -1, 'A': 0, 'T': 1, 'P': 2, 'H': 3, 'O': 4, 'C': 5, 'I': 6, 'Y': 7, 'V': 8, 'E': 9, 'U': 10}

Koodiarvojen summa

suomenkielinen ongelma

Suomenkielisissä kuukausien nimissä TAMMIKUU, HELMIKUU, …, JOULUKUU esiintyvät kirjaimet ovat AEHIJKLMNORSTUYÄ. 

Ongelma 1. Luo kirjaimien kokonaislukukoodaus siten että kuukausien nimien kirjaimien koodiarvojen summa on kuukauden järjestysluku. 

Ongelma 2. Luo kirjaimien kokonaislukukoodaus siten että koodiarvot ovat peräkkäisiä lukuja ja kuukausien nimien kirjaimien koodiarvojen summa on kuukauden järjestysluku. Kun ratkaiset ongelman, niin julkaise se kommentoimalla tätä viestiä. Ensimmäisen oikean ratkaisun tekijä saa yhden euron palkkion.

Minulla on jonkin verran lukijoita ympäri maailmaa. Koittakaapa ratkaista tämä ongelma omilla kielillänne.

viikonpäivät

Samankaltainen ongelma voidaan luoda myös viikonpäivistä tai presidenttien nimistä. Itse asiassa viikonpäiväongelma taitaa olla helpompi (vai onko?) ongelma sillä kirjaimia on vain 15 AEIJKLMNOPRSTUV ja viikonpäiviä 7. Kuukausiongelmassa kirjaimia on 16. 

luvut

Ongelma 3. Luo kokonaislukukoodi peräkkäisistä luvuista, joka koodaa lukusanat [”YKSI”, ”KAKSI”, ”KOLME”, …] siten että lukusanojen kirjaimien koodisumma on luku. Kuinka monta lukua on pisimmässä lukusanalistassa, joka voidaan koodata peräkkäisillä kokonaisluvuilla? Kun ratkaiset ongelman, niin julkaise se kommentoimalla tätä viestiä. Ensimmäisen oikean ratkaisun tekijä saa yhden euron palkkion.

pieni esimerkki

Tein pienen koodinpätkän Pythonilla, jolla tarkistaa tuloksia. Jos käytetty koodaus on

{'A': -8, 'E': -7, 'H': -6, 'I': -5, 'J': -4, 'K': -3, 'L': -2, 'M': -1, 'N': 0, 'O': 1, 'R': 2, 'S': 3, 'T': 4, 'U': 5, 'Y': 6, 'Ä': 7}

niin koodiarvojen summa näkyy alla olevassa taulukossa.

Tässähän on jo joulukuu oikein. Ratkoin GeoGebran CASilla yhtälöitä ja sen lisäksi kynää ja paperia apuna käyttäen sain ensimmäisen version Ongelman 1 ratkaisuun.

Koodi

{'A': -25, 'E': -26, 'H': 2, 'I': -38, 'J': -22, 'K': 1, 'L': 50, 'M': 13, 'N': 65, 'O': -17, 'R': 10, 'S': 27, 'T': 37, 'U': 0, 'Y': -23, 'Ä': 3} 

tuottaa kuukausien koodiarvojen summaksi

ongelmanratkaisusta

Olen erittäin kiinnostunut siitä, millaisilla eri menetelmillä ratkojat lähestyvät tätä ongelmaa. Tarvitaanko tässä koodausta ja kokeilua vai voiko tämän ratkaista algebrallisesti tai jollain muulla menetelmällä?

Palannen omiin ratkaisuihini, kunhan olen ensin ratkaissut ne.

liitteet

Futility Closet. Chronological Order
https://www.futilitycloset.com/2024/02/29/chronological-order/

Jätä kommentti

This site uses Akismet to reduce spam. Learn how your comment data is processed.