Nie jest jasne, kto pierwszy wymyślił magiczny kwadrat. Opowieść o wielkiej powodzi w Chinach już dawno temu. Ludzie obawiali się, że zostaną wypłukani i spróbują ułagodzić boga rzeki, składając ofiary. Wydawało się, że nic nie działa, dopóki dziecko nie zauważyło żółwia z magicznym kwadratem na plecach, który krążył wokół ofiary. Kwadrat powiedział ludziom, jak duże musi być ich poświęcenie, aby się uratować. Od tego czasu magiczne kwadraty stały się modą dla każdego wymagającego żółwia.
W przypadku, gdy nigdy wcześniej się nie spotkałeś, magiczny kwadrat to układ kolejnych liczb w kwadracie, dzięki czemu wiersze, kolumny i przekątne sumują się do tej samej liczby. Na przykład magiczny kwadrat 3x3 to:
To ćwiczenie programowania dotyczy tworzenia magicznych kwadratów nieparzystych (tzn. Rozmiar kwadratu może być tylko liczbą nieparzystą, 3x3, 5x5, 7x7, 9x9 itd.). Sztuką przy tworzeniu takiego kwadratu jest umieszczenie cyfry 1 w pierwszym rzędzie i środkowej kolumnie. Aby dowiedzieć się, gdzie umieścić następny numer, przesuń po przekątnej w górę w prawo (tj. Jeden rząd w górę, jedna kolumna w poprzek). Jeśli taki ruch oznacza, że spadniesz z kwadratu, zawiń się do rzędu lub kolumny po przeciwnej stronie. Na koniec, jeśli ruch przeniesie Cię do kwadratu, który jest już wypełniony, wróć do pierwotnego kwadratu i przejdź o jeden w dół. Powtarzaj proces, aż wszystkie kwadraty zostaną wypełnione.
Teraz ruch po przekątnej w górę powoduje, że kwadrat jest już wypełniony, więc wracamy do miejsca, z którego przyszliśmy i opuszczamy rząd: