Kirjautuminen

Haku

Tehtävät

Kilpailu

Putka Open 2025
3. kierros:
17.10. klo 18 – 19.10. klo 23

Putkaposti: Lukujenvihaaja

Kirjoittaja: Antti Laaksonen

Kiitokset tehtävästä: Ville Pettersson

Uolevin uusin harrastus on lukujen hävittäminen. Hän on kehittänyt tarkoitukseen yksinkertaisen menetelmän. Jos luku on parillinen, Uolevi jakaa sen kahdella. Jos taas luku on pariton, hän vähentää siitä yhden. Tällä tavalla päästään aina lopuksi lukuun nolla. Esimerkiksi luvun 10 hävittäminen tapahtuu näin: 10 / 2 = 5, 5 - 1 = 4, 4 / 2 = 2, 2 / 2 = 1, 1 - 1 = 0. Luvun 10 hävittämiseen tarvitaan siis kolme jakoa ja kaksi vähennystä.

Jakaminen on Uoleville mieluista, mutta vähentämisestä hän ei juuri pidä. Nyt Uolevi on päättänyt hävittää suuren joukon kokonaislukuja. Kuinka monta kertaa hän joutuu vähentämään ykkösen lukujen hävittämiseksi?

Tehtävä

Jokaisessa testitapauksessa on joukko lukuja väliltä 1 - n, jotka kaikki täytyy hävittää. Jos n on 5, hävitettävänä on siis luvut 1, 2, 3, 4 ja 5. Silloin ykkösiä täytyy vähentää yhteensä 1 + 1 + 2 + 1 + 2 = 7 kertaa. Nämä määrät on laskettu tehtävän alussa kuvatun menetelmän avulla.

Tehtävänäsi on laskea vähennysten yhteismäärä, kun n on:

1, 12, 123, 1234, 12345, 123456, 1234567, 12345678, 123456789, 1234567898, 12345678987, 123456789876, 1234567898765, 12345678987654, 123456789876543, 1234567898765432, 12345678987654321

Vastausohje

Jokaiselle riville tulee testitapauksen n ja vähennysten lukumäärä.

Vastaus voisi näyttää seuraavalta:

5 7

Tämä vastaus ei kuitenkaan kelpaisi, koska n = 5 ei kuulu testitapauksiin.

Vastaukset

161 henkilöllä on tulos. Suluissa oleva luku tarkoittaa ratkaistujen testitapausten määrää.

Chiman (17), VilleP (17), Sami (17), Metabolix (17), arcatan (17), sooda (17), FooBat (17), JoinTuanJanohon (17), setä (17), ikkah (17), mikaelh (17), phadej (17), Jogge (17), Daeron (17), KemXy (17), CyberianRat (17), lukujenVihaaja (17), Pekka Karjalainen (17), Mr.Clark (17), jlaire (17), L2-K2 (17), teksturi (17), mleino (17), Torgo (17), Laitinen (17), Grez (17), Sisuaski (17), aaämdee (17), Päärynämies (17), os (17), Konvehti (17), ahr (17), Jepso (17), Legu (17), SirDayBat (17), Jaska (17), tkok (17), jmp (17), dancek (17), Skibiliano (17), Epsilon (17), kllp (17), pjotr (17), copyrite (17), Jhuunhym (17), fergusq (17), jakeke (17), Laakeri (17), jnalanko (17), TapaniS (17), qalle (17), ed-it-ori (17), Matti Holopainen (17), symbols (17), membolic (17), öppis (17), Ruokauuni (17), tykkipeli (17), temu92 (17), hpalo (17), Hansen (17), jannej (17), isashkar (17), pupukani (17), zebraze (17), Mosavirhe (16), Janzka (15), Moiman (13), Deewiant (12), exAtuu (12), Milo (12), Dzarg (12), Eax (12), FINDarkside (12), Teuro (12), Meitsi (11), Heikki (11), mikkop92 (11), Vaxu (11), dOb (10), Sharph (10), KeKimmo (10), Mega (10), Jalmari91 (10), Anaatti (10), JrPr (10), Dragondejavu (10), Mizou (10), Ozgu (10), HeiKan (10), johku90 (10), AtskaFin (10), Kuhven (10), water flea (9), Juice (9), tejeez (9), Masfonos (9), rndprogy (9), juha127 (9), Touho (9), Akseli F (9), Waari (9), Andu (9), HeadCheese (9), JP_94 (9), Macro (9), tuutti (9), ilx (9), ptinsk (9), Ropertto IV (9), dartvaneri (9), HapTech (9), teemuho (9), dewabe (9), gms (9), Hirwi (9), ezki82 (9), Nameci2718 (9), vpiili (9), nikke234 (9), Brebl (9), zigilii (9), Salama (9), ein0e (9), Niko (8), Pumppu (8), ajv (8), killedwhale (8), salaisuuksiensäilyttäjä (8), Geewilliam (8), nneeoo (8), akiky (8), reissuhemuli (8), petatale (8), qwerty12302 (8), TeeVee (7), raakaliha (7), AkeMake (7), simosa (7), Oskuz (7), joah (7), Kaukainen amatööri (7), petrinm (6), uneton- (6), Tomler (6), Putkalainen (5), Jokotai (5), Professori (2), Szanne (2), Apodus (1), remontti-reiska (1), tesmu (1), black cat (1), pake10 (1), Joonazan (1), tpohjis (1), Tanzzu (1), heisti (1), Hengilö (1), Pentu (1), juusosilvo (1)

Ennätyksen kehitys

Aika Käyttäjä Tulos
11.12.2005 15:00:00 * Meitsi 10
11.12.2005 17:55:01 * Meitsi 11
11.12.2005 19:00:00 * Chiman 17

*) 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 Putkapostista.

Tietoa sivustosta