Algoritmiongelman kuvaus
Ongelma on tullut alunperin vastaan todellisessa asiakasprojektissa, jossa tuotteen kulkua tuotantolinjalla täytyi pystyä seuraamaan. Vaiheessa A oli esimerkiksi 8 tuotetta, jonka jälkeen kaksi peräkkäistä tuotetta yhdistettiin vaiheessa B yhdeksi. Vaiheessa C tuotteet jälleen erotettiin tai leikattiin toisistaan erilleen, mutta nyt järjestys on eri kuin kohdassa A. Jos artikkelin pääkuva ei näy, se löytyy täältä.
Algoritmiongelman tehtävänanto
Tehtävänä on luoda algoritmi tai menetelmä, jolla A ja B sarakkeesta saadaan luotua sarake C kuvan pääkuvan esimerkin mukaisella logiikalla.
Ratkaisun on oltava yleispätevä, eli sen täytyy toimia esimerkiksi riippumatta rivimäärästä. A-sarakkeen luvut menevät aina järjestyksessä ykkösestä alkaen. B sarakkeen luvut alkavat aina ykkösestä ylöspäin, mutta samaa lukua voi esiintyä useita kertoja. Algoritmin täytyy toimia esimerkiksi alla olevassa toisessa esimerkissä.
A | B | C | |
---|---|---|---|
1 | 1 | 2 | |
2 | 1 | 1 | |
3 | 2 | 4 | |
4 | 2 | 3 | |
5 | 3 | 5 | |
6 | 4 | 10 | |
7 | 4 | 9 | |
8 | 4 | 8 | |
9 | 4 | 7 | |
10 | 4 | 6 |
Mikä on algoritmi?
Algoritmi terminä tarkoittaa joukkoa ohjeita. Esimerkiksi 1) Poista joka toinen rivi 2) Lisää sarakkeen B lukuja yhdellä, ja niin edelleen. Ratkaisussa voi käyttää jonkin ohjelmiston ominaisuuksia, koodia tai sanallista selitystä.
Algoritmiongelman ratkaisu
Ratkaisun tehävään antoi alun perin Joel Kosola . Menetelmä on esitetty alla olevassa videossa .
Kirjoita uusi kommentti
Nimi näytetään muille. Sähköpostia ei julkaista. Lisää tietosuojasta.