Az I. 586. feladat (2023. március) |
I. 586. Judit és Gábor az órák közötti szünetben a táblánál játszanak. Az üres táblára felírnak háromjegyű pozitív egész számokat, összesen \(\displaystyle N\) darabot. Ezután felváltva letörölnek egy általuk választott számból egy számjegyet a szám elejéről vagy végéről, de csak akkor, ha a megmaradt szám osztója valamelyik táblán lévő számnak. Ha a törlés során olyan kétjegyű szám maradna, ami 0-val kezdődne, akkor a 0-t is letörlik. Tehát a 205 számból a 2-es törlése után 5 lesz. Az egyjegyű számokat nem törlik le.
A játék véget ér, ha már csak egyjegyű számok vannak, illetve akkor is, ha már nem lehet a tábláról újabb számot letörölni. Készítsünk programot, amely modellezi a fenti játékot úgy, hogy a bemenetként megadott \(\displaystyle N\) számhoz megad egy tetszőleges törléssorozatot egészen a játék végéig, vagyis amikor már nem lehet újabb számot törölni.
A program a standard bemenet első sorából olvassa be \(\displaystyle N\) értékét (\(\displaystyle 3\le N\le 20\)), majd a második sorából az \(\displaystyle N\) darab számot. A program a standard kimenet egymást követő soraiba írja ki a játék egy-egy törlése után a táblán látható számokat. A számok sorrendje a kiíráskor ne változzon. Amennyiben nincs törlési lehetőség, úgy a kimenetre ne írjunk semmit.
Példa:
Beküldendő egy tömörített i586.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
(10 pont)
A beküldési határidő 2023. április 17-én LEJÁRT.
Mintamegoldásként Szabó Imre Bence budapesti tanuló C++ nyelven készült megoldását (i586.cpp), valamint Zádor-Nagy Zsombor budapesti versenyző Python nyelvű munkáját (megoldas.py) adjuk közre.
Statisztika:
6 dolgozat érkezett. 10 pontot kapott: Gyönki Dominik, Hinek Milán, Horváth Milán, Szabó Imre Bence, Zádor-Nagy Zsombor. 2 pontot kapott: 1 versenyző.
A KöMaL 2023. márciusi informatika feladatai