Programavimo pratybos nelyginiams magijos kvadratams „Java“

Nežinia, kas pirmą kartą sugalvojo stebuklingą aikštę. Jau seniai yra istorija apie didžiulį potvynį Kinijoje. Žmonės jaudinosi, kad bus nuplauti, ir aukojo upės dievui. Atrodė, kad niekas neveikia, kol vaikas nepastebėjo vėžliuko, užpakalio stebuklingoje aikštėje ant nugaros, kuris nuolat suko auką. Aikštė žmonėms pasakojo, kokia didžiulė auka turi būti, norint išgelbėti save. Nuo to laiko stebuklingi kvadratai tapo mados aukštuma kiekvienam išmanančiam vėžliui.

Jei niekada anksčiau neteko susidurti, stebuklingas kvadratas yra eilės skaičių išdėstymas kvadratu taip, kad visos eilutės, stulpeliai ir įstrižainės sudarytų tą patį skaičių. Pavyzdžiui, 3x3 magiška aikštė yra:

Šis programavimo pratimas yra susijęs su nelyginio dydžio magiškų kvadratų kūrimu (t. Y. Kvadrato dydis gali būti tik nelyginis skaičius, 3x3, 5x5, 7x7, 9x9 ir tt). Sukurtas toks kvadratas yra tas, kad pirmoje eilutėje ir viduriniame stulpelyje uždedamas skaičius 1. Norėdami rasti, kur dėti kitą numerį, judėkite įstrižai į viršų į dešinę (t. Y. Viena eilutė aukštyn, viena stulpelis skersai). Jei toks žingsnis reiškia, kad nukritote nuo aikštės, apvyniokite eilutę ar stulpelį priešingoje pusėje. Galiausiai, jei žingsnis nukelia į aikštę, kuri jau užpildyta, grįžkite į pradinę aikštę ir judėkite žemyn viena. Kartokite procesą, kol visi kvadratai bus užpildyti.

instagram viewer

Dabar įstrižainė į viršų sukuria kvadratą, kuris jau užpildytas, todėl grįžtame ten, kur atėjome, ir nuleidžiame eilutę:

instagram story viewer