A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. Adott néhány kupac kavics. Minden lépésben az összes kupacból elveszünk egy kavicsot és ezekből egy új kupacot képzünk. A kupacok sorrendje nem számít. Például:
A lépéseket addig ismételgetjük, amíg meg nem unjuk. Mivel véges a kavicsok száma, így előbb-utóbb a kavicsok eloszlása a kupacokban ciklikussá válik. Írjunk programot, amely a bemeneti adatállományban megadott kupacok kavicsszáma alapján megadja, hogy hányadik lépésben kezdődik az ismétlődés és mi a ciklus hossza. Az összes kavics száma nem lehet több mint 50. A program parancssori argumentuma legyen a kupacokat leíró adatállomány neve. A fájl első sorában egy egész szám áll, amely a kupacok számát () adja meg. Az ezt követő db sor mindegyikében egy érték szerepel, amely a kupacok kavicsszámát adja meg.
A program kimenete a képernyőre két pozitív egész szám, amely közül az első azt adja meg, hogy hányadik lépésben kezdődik egy új ciklus és a másik, hogy egy ciklus hány lépésből áll. Beküldendő a program forráskódja (i202.pas, i202.cpp, ), valamint a program rövid dokumentációja (i202.txt, i202.pdf, ), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható. |