Autorské riešenie
[stiahni imp : py]

  • Počet riešiteľov: 17 / 21 = 81 %

  • Úspešnosť riešenia: 3,91 / 5 = 78 %

Zo zadania poznáme pravidlá hra Šestomíľové močiare, v ktorej sa používa 9-hodnotový spinner (Obr. 1.) a na každom šiestom políčku sa nachádza močiar. Po niekoľkonásobnom točení spinnerom a zaznamenávaní vytočených cifier vznikne každému hráčovi nejaké viacciferné číslo. Cieľom tejto úlohy je vytvoriť funkciu, ktorá podľa viacciferného čísla vráti číslo políčka, na ktorom figúrka skončí.

na obrázku je ukážka 9 hodnotového spinnera

Po každom točení spinnera sa figúrka posunie na iné políčko. Potrebujeme teda vedieť, na akom čísle políčka aktuálne stojí. Môžeme na tento účel použíť premennú napr. aktualnePolicko (resp. aktualne_policko).

Na začiatku bude figúrka stáť na štarte, teda na políčku s číslom 0. Aby sme vedeli vykonať každý posun figúrky, potrebujeme sa pozrieť na každú cifru viacciferného čísla osobitne. Túto cifru budeme pripočítavať k aktuálnému číslu políčka. Potom už stačí len zistiť, či je toto číslo políčka deliteľné číslom 6. Ak áno, tak figúrku musíme znova postaviť na štart.

Keď sme prešli každú cifru viacciferného čísla, tak aktuálne číslo políčka je vlastne finálnym číslom políčka. Túto hodnotu vrátime.

;Imagine logo
viem finalnePolicko :cislo
  urobTu "aktualnaPozicia 0
  prePrvky "cifra :cislo[
    urobTu "aktualnaPozicia (:aktualnaPozicia + :cifra)
    ak (zvysok :aktualnaPozicia 6) = 0[
      urobTu "aktualnaPozicia 0
    ]
  ]
  vysledok :aktualnaPozicia
koniec
#Python
def finalne_policko(cislo):
    aktualna_pozicia = 0
    for cifra in str(cislo):
        aktualna_pozicia = aktualna_pozicia + int(cifra)
        if aktualna_pozicia % 6 == 0:
            aktualna_pozicia = 0

    return aktualna_pozicia

Vaše zaujímavé riešenia a najčastejšie chyby

Túto úlohu riešilo 17 tímov, z toho 6 tímov v jazyku Imagine a 11 tímov v jazyku Python, pričom v jazyku Python bola úspešnosť vyššia o 7%. Celkovo hodnotíme túto úlohu za veľmi úspešnú a dobre zvládnutú.

Až 12 riešní bolo úplne alebo skoro úplne správnych a ich riešenie bolo veľmi podobné autorskému riešeniu. Niektoré tímy zadanie pochopili po svojom a generovali cifry vytočené na spinneri, alebo posunuli figúrku iba práve o jedno točenie spinnerom.