Magický čtverec
Magický čtverec
je matematická struktura, která obsahuje celá čísla uspořádaná v
čtvercové matici tak, že součet čísel v každém řádku, každém sloupci a obou
hlavních diagonálách je stejný. Základní magický čtverec má rozměry 3 x 3 a
součet, který se označuje jako magická konstanta, je 15.

Zadání úlohy
Implementujte třídu MagicalSquare obsahující dvě statické metody pro práci s magickými čtverci:
-
generateMagicSquare(int n): int[][]
: Metoda generuje magický čtverec o rozměru 3 x 3. Číslo n reprezentuje magickou konstantu, která musí být větší nebo rovna 15 a dělitelná třemi. V případě neplatného vstupu metoda vyhodí výjimku IllegalArgumentException. Magický čtverec musí obsahovat čísla tak, aby součet v každém řádku, sloupci a obou diagonálách byl stejný. Funkce vrátí 2D pole obsahující magický čtverec. -
printMagicSquare(int[][] magicSquare)
: Metoda přijímá magický čtverec ve formě 2D pole a vypisuje jej na standardní výstup. Čísla v řádcích musí být oddělena znakem odřádkováním (lze použít speciální znakovou sekvenci pro nový řádek v textovém řetězci '\r\n').
Hodnocení
Úloha je hodnocena pomocí testů. Za každý úspěšně projitý test získá student 1 bod. Celkem je k dispozici 7 testů. Známka se uděluje na základě celkového počtu úspěšně splněných testů:
- 0 až 3 úspěšné testy: Známka 5
- 4 úspěšné testy: Známka 4
- 5 úspěšných testů: Známka 3
- 6 úspěšných testů: Známka 2
- 7 úspěšných testů: Známka 1
Váha známky je 5.
Podpora úlohy
Implementujete soubor (ve složce src/main/java v balíčku org.example) MagicalSquare.java
Testy máte k dispozici v souboru (ve složce src/test/java) MagicalSquareTest.java
Pro testy importujte knihovnu org.testng a následující závislost!
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>RELEASE</version>
<scope>test</scope>
</dependency>
- 29. července 2023, 21.47
- 2. listopadu 2023, 09.37