Programmeringsøvelse til Odd Magic Squares i Java

click fraud protection

Det er uklart, hvem der først kom med en magisk firkant. Der er en historie om en enorm oversvømmelse i Kina for længe siden. Folket var bekymret for, at de ville blive vasket væk og forsøgte at formilde flodguden ved at ofre. Intet så ud til at virke, før et barn bemærkede en skildpadde med en magisk firkant på ryggen, der fortsatte med at omringe ofringen. Pladsen fortalte folket, hvor stort deres ofre skulle være for at redde sig selv. Siden da har magiske firkanter været højden på mode for enhver kræsne skildpadde.

I tilfælde af at du aldrig har fundet en før, er en magisk firkant et arrangement med rækkefølge i et kvadrat, så rækkerne, kolonnerne og diagonalerne sammen tilføjer til det samme nummer. For eksempel er en 3x3 magisk firkant:

Denne programmeringsøvelse vedrører oprettelse af magiske firkanter med ulige størrelse (dvs. størrelsen på kvadratet kan kun være et ulige tal, 3x3, 5x5, 7x7, 9x9, og så videre). Tricket med at fremstille en sådan firkant er at placere nummer 1 i den første række og midterste kolonne. For at finde, hvor det næste nummer skal placeres, skal du bevæge dig diagonalt opad til højre (dvs. en række op, en kolonne på tværs). Hvis en sådan bevægelse betyder, at du falder fra firkanten, skal du vikle rundt til rækken eller kolonnen på den modsatte side. Endelig, hvis flytningen fører dig til et firkant, der allerede er udfyldt, skal du gå tilbage til det originale firkant og flytte nedad med en. Gentag processen, indtil alle firkanter er fyldt.

instagram viewer

Nu fører den diagonale retning opad til en firkant, der allerede er fyldt, så vi går tilbage til det sted, hvor vi kom fra og slår ned en række:

instagram story viewer