Programovací cvičení pro liché magické čtverce v Javě

Není jasné, kdo poprvé přišel s magickým čtvercem. V Číně je příběh o obrovské povodni už dávno. Lidé se obávali, že budou odplaveni a pokusili se uklidnit boha řeky obětováním. Zdálo se, že nic nefunguje, dokud si dítě nevšimne želvy, která má na zádech kouzelný čtverec, který stále kroužil v oběti. Náměstí řeklo lidem, jak velká jejich oběť musí být, aby se zachránila. Od té doby byly magické čtverce vrcholem módy pro každou náročnou želvu.

V případě, že jste nikdy předtím žádné nenarazili, magický čtverec je uspořádání pořadových čísel na čtverci tak, že se všechny řádky, sloupce a úhlopříčky sečtou ke stejnému číslu. Například magický čtverec 3x3 je:

Toto programovací cvičení se týká vytváření magických čtverců liché velikosti (tj. Velikost čtverce může být pouze liché číslo, 3x3, 5x5, 7x7, 9x9 atd.). Trik s vytvořením takového čtverce je umístit číslo 1 do prvního řádku a středního sloupce. Chcete-li zjistit, kam umístit další číslo, posuňte diagonálně nahoru doprava (tj. Jeden řádek nahoru, jeden sloupec napříč). Pokud takový pohyb znamená, že spadnete z náměstí, omotejte se kolem řádku nebo sloupce na opačné straně. Nakonec, pokud vás tah přivede na již vyplněný čtverec, vraťte se na původní čtverec a posuňte dolů o jeden. Tento postup opakujte, dokud nejsou vyplněny všechny čtverce.

instagram viewer

Nyní diagonální pohyb nahoru vede k čtverci, který je již vyplněn, takže se vracíme zpět, odkud jsme přišli, a rozbalovací řádek: