Autorské riešenie
[stiahni]

Keby ste mali túto úlohu riešiť ceruzkou na papieri, asi by ste ju hravo vyriešili. Takže riešenie možno nie je až také ťažké. Ak poznáme objem akvária (:objem), hľadáme deliteľov tohto čísla (zvyšok po delení je 0). Ak nájdeme prvého deliteľa (:prvy), objem predelíme. S výsledkom (:podiel1) tohto podielu pokračujeme ďalej a hľadáme jeho deliteľa. Nájdeme jeho deliteľa (:druhy). Nájsť tretieho deliteľa (:treti) už nie je problém:  :treti = :podiel1 / :druhy.

Všetkých troch deliteľov vypíšeme. 

Nás však nezaujíma len jedno riešenie, chceme vedieť všetky. Preto uvedený postup opakujeme v cykle. V prvom cykle (opakuj :objem) nájdeme prvého deliteľa. Testujeme, či počítadlo cyklu je deliteľom premennej :objem. Ak sme ho našli, tak v druhom cykle (opakuj :podiel1) hľadáme druhého deliteľa.

Jedno z možných riešení vidíte nižšie.

 

viem akvarium :objem
  opakuj :objem
    [ak zvysok :objem pocitadlo = 0
        [urobtu "prvy pocitadlo
         urobtu "podiel1 :objem / :prvy
         opakuj :podiel1
           [ak zvysok :podiel1 pocitadlo = 0
               [urobtu "druhy pocitadlo
                urobtu "treti :podiel1 / :druhy
                pis (slovo :prvy "x" :druhy "x" :treti)
               ]
           ]
        ]
    ] 
koniec

 

Vaše zaujímavé riešenia

Veľmi dobré riešenie nám posla tím Bear & cat Expert. 

 

Najčastejšie chyby

Niektorí z vás vyskúšali všetky kombinácie čísel a testovali, či po prenásobení dostanem objem. Takéto riešenie síce dá správne výsledky, ale je pomalé (nešikovné, neefektívne).