A legjobb barátod elkezdett kirakós játékokat gyűjteni, és részletes katalógust szeretne készíteni a gyűjteményéről: olyan adatokat akar feljegyezni, mint a darabok teljes száma, a sorok és oszlopok száma, a szélső és belső darabok száma, a képarány és a kirakó formátuma. Még ha össze is adjátok az erőiteket, akkor is több órába telik megoldani egy ezer darabos kirakóst, utána pedig még mindig neked kell megszámolnod a sorokat és az oszlopokat, és kiszámolnod a többi adatot. A több ezer darabos, még nagyobb kirakósok pedig most meglehetősen ijesztőnek tűnnek. „Lennie kell jobb megoldásnak!” kiáltod fel, és leülsz a számítógéped elé, hogy megoldd a problémát.
Ha egy kirakóról csak részleges információ áll rendelkezésre, egészítsd ki a hiányzó darabokkal.
Ha az információ nem elegendő a részletek kiegészítéséhez, vagy ha a megadott részek ellentmondanak egymásnak, értesíteni kell a felhasználót.
A kirakóra vonatkozó teljes információ a következő részekből áll:
pieces: a darabok teljes számaborder: a szegélydarabok számainside: a belső (nem szegély-)darabok számarows: a sorok számacolumns: az oszlopok számaaspectRatio: az oszlopok és a sorok arányaformat: a kirakó formátuma, amely portrait, square vagy landscape lehetEbben a feladatban feltételezheted, hogy a darabok négyzet alakúak, így a formátum az oldalarányból vezethető le:
portrait
square
landscape
Egy álló kirakó 6 darabbal: mindegyik szegélydarab, és egyetlen belső darab sincs köztük. 3 sora és 2 oszlopa van. Az oldalarány 1,5 (3/2).
Egy négyzet alakú kirakó 9 darabbal: mindegyik szegélydarab, kivéve a középsőt, amely belső darab. 3 sora és 3 oszlopa van. Az oldalarány 1 (3/3).
Egy fekvő kirakó 12 darabbal: ebből 10 szegélydarab és 2 belső darab. 3 sora és 4 oszlopa van. Az oldalarány 1,333333... (4/3).
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) WebAssembly nyelvet 87 feladat segítségével, valódi emberi mentorálással, mindez ingyen.