Deine beste Freundin hat angefangen, Puzzles zu sammeln, und möchte einen ausführlichen Katalog ihrer Sammlung anlegen: Sie will Dinge wie die Gesamtzahl der Teile, die Anzahl der Reihen und Spalten, die Anzahl der Rand- und Innen-Teile, das Seitenverhältnis und das Puzzleformat festhalten. Selbst mit vereinten Kräften dauert es mehrere Stunden, ein einziges Puzzle mit tausend Teilen zu legen, und danach musst du immer noch die Reihen und Spalten zählen und die übrigen Zahlen von Hand ausrechnen. Die noch größeren Puzzles mit mehreren tausend Teilen wirken jetzt ziemlich entmutigend. „Es muss einen besseren Weg geben!“, rufst du aus und setzt dich vor deinen Computer, um das Problem zu lösen.
Gegeben sind Teilinformationen über ein Puzzle. Ergänze die fehlenden Teile.
Wenn die Informationen nicht ausreichen, um die Details zu vervollständigen, oder wenn sich die gegebenen Angaben widersprechen, soll der Nutzer benachrichtigt werden.
Die vollständigen Informationen über das Puzzle umfassen die folgenden Angaben:
pieces: Gesamtzahl der Teileborder: Anzahl der Randteileinside: Anzahl der innen liegenden (nicht am Rand befindlichen) Teilerows: Anzahl der Reihencolumns: Anzahl der SpaltenaspectRatio: Seitenverhältnis von Spalten zu Zeilenformat: Puzzleformat, das portrait, square oder landscape sein kannFür diese Übung darfst du quadratische Teile annehmen, sodass das Format aus dem Seitenverhältnis abgeleitet werden kann:
portrait
square
landscape
Ein Puzzle im Hochformat mit 6 Teilen, die alle Randteile sind und von denen keines ein Innenteil ist. Es hat 2 Spalten und 3 Reihen. Das Seitenverhältnis ist 0.666666... (2/3).
Ein quadratisches Puzzle mit 9 Teilen, die alle Randteile sind, außer dem einen in der Mitte, das ein Innenteil ist. Es hat 3 Spalten und 3 Reihen. Das Seitenverhältnis ist 1.0 (3/3).
Ein Puzzle im Querformat mit 12 Teilen, von denen 10 Randteile und 2 Innenteile sind. Es hat 4 Spalten und 3 Reihen. Das Seitenverhältnis ist 1.333333... (4/3).
Melde dich bei Exercism an, um PowerShell mit 136 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.