Kirjautuminen

Haku

Tehtävät

Kilpailu

Putka Open 2025
4. kierros:
7.11. klo 18 – 9.11. klo 23

Putkaposti: Lukujentasaaja

Kirjoittaja: Antti Laaksonen

Kiitokset tehtävästä: Pekka Karjalainen

Uolevi, entinen lukujenvihaaja, on käynyt raivonhallintaterapiassa ja oppinut hyväksymään joitakin lukuja. Hän pitää kuitenkin vain tasaisista luvuista. Tämä tarkoittaa lukuja, joiden numeroissa ei hypitä ylös ja alas. Uoleville kerrottiin, että kaikki luvut voidaan tasata kertomalla ne tarpeeksi suurella kokonaisluvulla, mutta Uolevi ei ole onnistunut tekemään tätä useissa tapauksissa.

Tehtävä

Tasainen luku tarkoittaa kokonaislukua, jonka numerot ovat joko nousevassa tai laskevassa järjestyksessä. Toisin sanoen luku kelpaa Uoleville, jos kaikille luvun peräkkäisille numeropareille a ja b pätee joko a <= b tai a >= b. Ehdon täytyy olla sama jokaiselle saman luvun numeroparille. Esimerkiksi luvut 1111, 1122, 113355, 998850, 66655522 ja 332 ovat tasaisia lukuja.

Luku 101 ei ole tasainen, mutta kertomalla luku 11:llä saadaan 1111, joka on tasainen luku. Luvun 131 taas voi tasata kertoimella 5, jolloin tulo on 655. Uolevi on onnistunut muuttamaan omin neuvoin nämä ja monta muutakin lukua tasaisiksi. Joskus tarvittava kerroin näyttää olevan kuitenkin hyvin suuri. Näistä vaikeista luvuista Uolevi on laatinut listan.

Tehtävään kuuluvat luvut ovat tiedostossa lukut.txt. Tiedoston alussa on tasattavien lukujen määrä, jonka jälkeen tulevat kaikki luvut. Arvostelussa jokaisesta oikeasta vastauksesta saa 10 pistettä, jos kerroin on pienin mahdollinen, ja 5 pistettä, jos kerroin tuottaa kyllä tasaisen luvun, mutta pienempikin olisi olemassa. Uolevi ei nimittäin haluaisi tehdä turhaa työtä lukuja kertoessaan.

Vastausohje

Jokaiselle riville tulee alkuperäinen luku, sopiva positiivinen kerroin ja tasainen luku.

Vastaus voisi näyttää seuraavalta:

101 11 1111
131 5 655
419 18 7542

Tästä vastauksesta saisi 25 pistettä, koska 419:lle on pienempi kerroin, nimittäin 419 * 3 = 1257. Tehtävässä ei kuitenkaan kysytä näitä lukuja, koska Uolevi laski ne jo itse.

Vastaukset

52 henkilöllä on tulos. Suluissa oleva luku tarkoittaa saavutettua pistemäärää.

Krisse7 (1620), Pekka Karjalainen (1620), VilleP (1620), Chiman (1620), FooBat (1620), BadSource (1620), Mr.Clark (1620), jlaire (1620), Grez (1620), Sisuaski (1620), Jaska (1620), Metabolix (1620), Konvehti (1620), Jhuunhym (1620), Hansen (1620), L2-K2 (1620), symbols (1620), Matti Holopainen (1620), Ruokauuni (1620), temu92 (1620), isashkar (1620), öppis (1620), zebraze (1620), lukujenVihaaja (1600), os (1550), KemXy (1530), Laakeri (1530), TapaniS (1530), tejeez (1510), Legu (1510), Deewiant (1510), Laitinen (1510), Seriffi (1510), JP_94 (1510), teemuho (1510), qalle (1510), Torgo (1470), Hirwi (1470), latemaani (1430), Ape (1400), Jalmari91 (1390), Juice (1350), HeadCheese (1340), Teuro (1210), HellRazor (1190), Andu (1125), Moiman (840), Touho (280), tkok (20), Salama (20), ilx (15), juha127 (10)

Ennätyksen kehitys

Aika Käyttäjä Tulos
08.01.2007 11:30:00 * Chiman 10
08.01.2007 13:32:01 * Chiman 20
08.01.2007 15:33:01 * Chiman 90
08.01.2007 17:34:01 * Chiman 240
08.01.2007 19:35:01 * Chiman 540
08.01.2007 21:37:01 * KemXy 580
08.01.2007 23:38:01 * Chiman 620
09.01.2007 03:40:01 * KemXy 1390
09.01.2007 05:41:01 * KemXy 1410
09.01.2007 07:43:01 * KemXy 1510
09.01.2007 21:51:01 * KemXy 1530
10.01.2007 16:02:01 * lukujenVihaaja 1580
11.01.2007 02:08:01 * lukujenVihaaja 1590
11.01.2007 14:15:01 * lukujenVihaaja 1595
11.01.2007 16:17:01 * lukujenVihaaja 1600
14.01.2007 17:00:00 * Krisse7 1620

*) Ajat ennen 27.12.2010 ovat arvioita, koska tarkkaa aikaa ei ole tallennettu.

Kirjaudu sisään Ohjelmointiputkaan, niin voit lähettää vastauksen tehtävään.

Keskustelu

Katso myös Putkaposti 13: Lukujentasaaja.

Tietoa sivustosta