Kirjautuminen

Haku

Tehtävät

Putkaposti: Huono pakkaus

Kirjoittaja: Antti Laaksonen

Tiedoston pakkaaminen voi pienentää merkittävästi sen kokoa. Jokaiseen häviöttömään pakkausmenetelmään liittyy kuitenkin varjopuoli: jos menetelmä pienentää jonkin tiedoston kokoa, se vastaavasti suurentaa jonkin tiedoston kokoa.

Ajatellaan esimerkiksi, että pakkausmenetelmä pienentää tiedostoa, jonka koko on 1000 tavua. Pakkausmenetelmän täytyy tuottaa jokaisesta erilaisesta pakattavasta tiedostosta erilainen pakattu tiedosto, jotta pakkauksen purkaminen on mahdollista. Niinpä kaikille alle 1000 tavun pakattaville tiedostoille ei enää riitä omaa alle 1000 tavun pakattua tiedostoa.

ZIP-menetelmä pienentää tunnetusti monia tiedostoja. Niinpä se myös suurentaa joitakin tiedostoja!

Tehtävä

Suunnittele 1000 tavun kokoinen tiedosto suuri.dat, josta tehty ZIP-paketti vie mahdollisimman paljon tilaa.

Kun lähetät tiedoston Ohjelmointiputkan palvelimelle, se muutetaan ZIP-paketiksi seuraavalla Unix-komennolla:

zip suuri.zip suuri.dat

Tavoitteena on, että suuri.zip on mahdollisimman suuri.

Lähetysohje

Tiedosto voi näyttää esimerkiksi seuraavalta:

AAAAA...A

Pisteiden kohdalla on 994 A-kirjainta. Tästä tiedostosta syntyy ZIP-paketti, jonka koko on 169 tavua, joten tiedosto pakkautuu hyvin. Tehtävässä on kuitenkin tarkoitus suunnitella tiedosto, joka ei pakkaudu hyvin!

Vastaukset

77 henkilöllä on tulos. Suluissa oleva luku on pakatun tiedoston koko tavuina.

Blaze (1158), Metabolix (1158), Lumpio- (1158), Graphic (1158), Spongi (1158), Kray (1158), str4nd (1158), sooda (1158), Laitinen (1158), Chiman (1158), Torgo (1158), jmp (1158), Krisse7 (1158), Sisuaski (1158), aaämdee (1158), Ape (1158), Milo (1158), L2-K2 (1158), epokal (1158), Dizzor (1158), Sharph (1158), SirDayBat (1158), User137 (1158), Konvehti (1158), FooBat (1158), jlaire (1158), -tossu- (1158), Legu (1158), Sien1 (1158), Niko (1158), JP_94 (1158), Grez (1158), Meitzi (1158), Masfonos (1158), aarnis (1158), Claw (1158), Anaatti (1158), Laquendi (1158), ajt (1158), janihy (1158), qalle (1158), tesmu (1158), teppuli (1158), lukujenVihaaja (1158), Goasd (1158), os (1158), temu92 (1158), Juice (1158), killedwhale (1158), Mizou (1158), pontso (1158), kllp (1158), Jhuunhym (1158), Laakeri (1158), HapTech (1158), Hansen (1158), akiky (1158), Shiona (1158), symbols (1158), carabia (1158), TapaniS (1153), Ropertto IV (1148), öppis (1066), Moiman (1032), RQ (1026), Teuro (968), qwerty12302 (951), decoy (942), lare290 (903), pavb (853), heisti (849), tositoo (718), ptinsk (625), henkkeli (468), Macro (179), ilx (169), jannej (169)

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

Keskustelu

Katso myös Putkaposti 41: Huono pakkaus.

Tietoa sivustosta