Aký je princíp magického štvorca. Osobný talizman "magický štvorec Pythagoras"

Tajomstvo hry "Magický štvorec"

Som si istý, že ste už niekde počuli frázu ako „magický štvorec“. Vieme o niekoľkých zástupcoch tohto „kmeňa“. Najrozšírenejšou a najčastejšie sa vyskytujúcou hrou na internete je takzvaná hra Magic Square. Jeho podstata spočíva v tom, že vašu pozornosť ponúka stôl (toto je „magický štvorec“), ktorý je schopný „uhádnuť myšlienky“. Prirodzene, ako každá hra, má určité pravidlá... Musíte si vymyslieť akékoľvek dvojciferné číslo a potom od neho odčítať súčet číslic tohto čísla. Nájdite získanú hodnotu v tabuľke spolu so symbolom, ktorý jej zodpovedá. A presne tento symbol uhádne štvorec. Hra je zábavná a na prvý pohľad naozaj magická, pretože bez ohľadu na to, aké číslo na začiatku uhádnete, štvorec vždy uhádne symbol. Ako to funguje? Ako funguje magický štvorec? V skutočnosti je odpoveď na povrchu. Ak štvorček skontrolujete niekoľkokrát za sebou, všimnete si, že sa stále objavuje ten istý symbol. Pri bližšom pohľade na tabuľku je zrejmé, že tento symbol je umiestnený vodorovne a zodpovedá číslam, ktoré sú bezo zvyšku deliteľné číslom 9. Vo vašej odpovedi sa však získajú iba tie, bez ohľadu na to, aké dvojciferné číslo si vyberiete. Dá sa povedať, že sme obnažili „magický štvorec“. Tajomstvo nespočíva ani tak v ňom, ako skôr v podmienkach hry. Faktom je, že existuje taká nespochybniteľná pravda, ktorá hovorí: "Ak odčítate súčet jeho číslic od akéhokoľvek dvojciferného čísla, dostanete číslo, ktoré je bezo zvyšku deliteľné 9." Tak sme prišli na to, ako funguje „magický štvorec“. Ani štipka mystiky! Aj keď v zásade všetko, čo súvisí s číslami, je založené na výpočtoch a vzoroch, a vôbec nie na mágii.

Tajomstvo magického štvorca:

7 t41 k86 h21 n33 w1 p35 r61 p12 w90 a
15 h23 z57 v55 q71 d66 h78 g14 q81 a 10 t
88 d59 j74 n69 b68 m38 i22 m72 a 3 v58 m
62 l77 m40 c98 u20 s94 m63 a 87 t99 m37 X
92 s96 g51 f73 e46 i54 a 53 s44 h43 k2 d
34 o31 e91 t19 i45 a 50 k85 v28 s38 l75 v
79 h8 c11 s36 a 16 f24 z4 q67 m6 f48 o
17 p65 w27 a 42 p89 e39 s95 X32 f25 d26 h
29 c18 a 82 k60 o93 r83 r52 k56 p53 i30 r
9 a 80 q47 d84 l5 g13 X70 d49 g76 c64 e

Magické námestie Albrechta Durera

Niekedy digitálne vzory nadobudnú také neuveriteľné rozmery, že sa zdá, že išlo o čarodejníctvo. Známe je napríklad ďalšie „magické námestie“ – Albrecht Durer. V matematike sa ním rozumie štvorcová tabuľka s rovnakým počtom riadkov a stĺpcov, vyplnená prirodzenými číslami. Okrem toho sa súčet týchto čísel horizontálne, vertikálne alebo diagonálne musí rovnať rovnakému výsledku. Magický štvorec k nám prišiel z Číny, dnes všetci poznáme jeho najjasnejšieho predstaviteľa – krížovku Sudoku. V Európe to bol Dürer, ktorý ako prvý zobrazil „magickú“ postavu vo svojej rytine „Melanchólia“. V čom spočíva výnimočnosť tohto „čarovného námestia“? Na základni má kombináciu čísel 15 a 14, čo zodpovedá roku vydania rytiny. A súčet čísel sa skladá nielen z čiar na uhlopriečke, zvislej a vodorovnej rovine, ale aj z čísel v rohoch štvorca, v strednom malom štvorci a v každom štvorbunkovom štvorčeku na jeho strany. Tieto postavy nepredpovedajú osud a neuhádnu myšlienky, sú jedinečné práve svojimi vzormi.

Pytagoras námestie

Ak sa obrátime na veštenie, potom je tu aj zástupca - "magický štvorec" Pytagoras. Toto meno všetci poznáme z hodín geometrie. Ale až v našej dobe sa táto osoba začala nazývať matematikom a filozofom. V dávnych dobách bol známy ako učiteľ múdrosti, skladali sa o ňom básne a spievali ódy, bol uctievaný, považovaný za veštca. Pytagoras založil novú vedu - numerológiu, ktorá bola v minulosti vnímaná ako náboženstvo.

Veril, že čísla môžu vysvetliť takmer každý jav, vrátane určovania osudu človeka, vypovedať o jeho charaktere, talentoch a slabostiach. Dalo by sa to urobiť pomocou Pytagorovho štvorca. Ako funguje „magický štvorec“ a čo to je? Magický štvorec Pytagoriády je 3/3 štvorec (riadky, stĺpce), ktorý obsahuje čísla od 1 do 9. Za základ predpovede sa berie dátum narodenia osoby. Je dôležité, aby sa vo výpočtoch neobjavila „0“. Pomocou jednoduchých výpočtov a vzorcov sa získa množina čísel, ktoré sa následne musia zadať do štvorca. Každé číslo má svoj vlastný význam a zodpovedá za konkrétnu vlastnosť. Takže 4 je "zodpovedné" za zdravie a 9 - za myseľ. Podľa toho, koľkokrát sa rovnaké číslo vyskytuje vo vašom štvorci, môžete povedať o prevahe tej či onej vlastnosti. Takže napríklad absencia 4 je indikátorom fyzickej slabosti a bolestivosti a 444 je dobré zdravie a veselosť. Nakoľko pravdivý je Pytagoras štvorec, je ťažké povedať, ako vlastne každé veštenie. Ale teraz, keď viete, ako magický štvorec funguje, budete môcť aspoň hodinku alebo dve príjemne stráviť prepočítaním charakterov svojich priateľov a známych.

V magickom štvorci sú celé čísla rozdelené tak, že ich súčet sa horizontálne, vertikálne a diagonálne rovná rovnakému číslu, takzvanej magickej konštante.

Magické námestie v kultúrach sveta

Príkladom magického štvorca je Lo Shu, čo je tabuľka 3 x 3. Obsahuje čísla od 1 do 9 tak, že súčet každej z čiar a uhlopriečky dáva číslo 15.

Jedna čínska legenda hovorí, ako sa jedného dňa počas povodne kráľ pokúsil vybudovať kanál, ktorý by odviedol vodu do mora. Zrazu sa z rieky Luo objavila korytnačka so zvláštnym vzorom na pancieri. Išlo o mriežku s číslami od 1 do 9 vpísanými do štvorcov.Súčet čísel na každej strane štvorca, ako aj na uhlopriečke, bol 15. Toto číslo zodpovedalo počtu dní v každom z 24 cyklov. čínskeho slnečného roka.

Námestie Lo Shu sa tiež nazýva magický štvorec Saturna. Spodný riadok tohto štvorca obsahuje číslo 1 v strede a číslo 2 v pravej hornej bunke.

Magický štvorec je prítomný aj v iných kultúrach: perzskej, arabskej, indickej, európskej. Na svojej rytine „Melanchólia“ ho v roku 1514 zachytil nemecký umelec Albrecht Durer.

Magický štvorec na Dürerovej rytine je považovaný za prvý z tých, ktoré sa kedy objavili v európskej umeleckej kultúre.

Ako vyriešiť magický štvorec

Magický štvorec by sa mal vyriešiť vyplnením buniek číslami tak, aby sa na každom riadku získala magická konštanta. Strana magického štvorca môže pozostávať z párneho alebo nepárneho počtu buniek. Najpopulárnejšie magické štvorce pozostávajú z deviatich (3x3) alebo šestnástich (4x4) buniek. Existuje široká škála magických štvorcov a možností ich riešenia.

Ako vyriešiť štvorec s párnym počtom buniek

Budete potrebovať kus papiera s nakresleným štvorcom 4x4, jednoduchú ceruzku a gumu.

Zapíšte čísla od 1 do 16 do buniek štvorca, začnite ľavou hornou bunkou.

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

Magická konštanta tohto štvorca je 34. Prehoďte čísla na diagonálnej čiare od 1 do 16. Pre jednoduchosť prehoďte 16 a 1 a potom 6 a 11. Výsledkom bude, že uhlopriečky budú mať čísla 16, 11, 6, 1.

16 2 3 4
5 11 7 8
9 10 6 12
13 14 15 1

Vymeňte čísla na druhej diagonálnej čiare. Tento riadok začína 4 a končí 13. Vymeňte ich. Teraz vymeňte ďalšie dve čísla - 7 a 10. Zhora nadol na riadku budú čísla v tomto poradí: 13, 10, 7, 4.

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Ak spočítate každý riadok, dostanete 34. Táto metóda funguje s inými štvorcami s párnym počtom buniek.

Existujú rôzne techniky na vytváranie štvorcov s jednou a dvojitou paritou.

  • Vypočítajte magickú konštantu. Dá sa to urobiť pomocou jednoduchého matematického vzorca / 2, kde n je počet riadkov alebo stĺpcov na druhú. Napríklad na druhú 6x6 n = 6 a jeho magická konštanta:

    • Magická konštanta = / 2
    • Magická konštanta = / 2
    • Magická konštanta = (6 * 37) / 2
    • Magická konštanta = 222/2
    • Magická konštanta pre štvorec 6x6 je 111.
    • Súčet čísel v ľubovoľnom riadku, stĺpci a uhlopriečke sa musí rovnať magickej konštante.
  • Rozdeľte magický štvorec na štyri rovnako veľké kvadranty. Označte kvadranty A (vľavo hore), C (vpravo hore), D (vľavo dole) a B (vpravo dole). Vydeľte n číslom 2, aby ste zistili veľkosť každého kvadrantu.

    • Takže v štvorci 6x6 je každý kvadrant 3x3.
  • Do kvadrantu A napíšte štvrté zo všetkých čísel; v kvadrante B napíšte ďalšiu štvrtinu všetkých čísel; v kvadrante C napíšte ďalšiu štvrtinu všetkých čísel; v kvadrante D napíšte poslednú štvrtinu všetkých čísel.

    • Pre náš príklad štvorca 6x6 v kvadrante A napíšte čísla 1-9; v kvadrante B - čísla 10-18; v kvadrante C - čísla 19-27; v kvadrante D - čísla 28-36.
  • Napíšte čísla do každého kvadrantu pri zostavovaní nepárneho štvorca. V našom príklade začnite vyplniť kvadrant A číslami od 1 a kvadranty C, B, D - od 10, 19, 28.

    • Vždy napíšte číslo, ktorým začínate v každom kvadrante do strednej bunky horného riadku daného kvadrantu.
    • Vyplňte každý kvadrant číslami, ako keby to bol samostatný magický štvorec. Ak je pri vypĺňaní kvadrantu k dispozícii prázdna bunka z iného kvadrantu, ignorujte túto skutočnosť a využite výnimky z pravidla pre vypĺňanie nepárnych štvorcov.
  • Zvýraznite konkrétne čísla v kvadrantoch A a D. V tejto fáze sa súčet čísel v stĺpcoch, riadkoch a na diagonále nebude rovnať magickej konštante. Preto musíte zameniť čísla v konkrétnych bunkách v ľavom hornom a ľavom dolnom kvadrante.

    • Začnite od prvej bunky v hornom riadku kvadrantu A a vyberte počet buniek, ktorý sa rovná mediánu počtu buniek v celom riadku. Vo štvorci 6x6 teda vyberte iba prvú bunku v hornom riadku kvadrantu A (táto bunka obsahuje číslo 8); v štvorci 10x10 musíte vybrať prvé dve bunky horného radu kvadrantu A (v týchto bunkách sú napísané čísla 17 a 24).
    • Z vybratých buniek vytvorte stredný štvorec. Keďže ste vybrali iba jednu bunku v štvorci 6x6, stredný štvorec bude pozostávať z jednej bunky. Nazvime tento stredný štvorec A-1.
    • V štvorci 10x10 ste vybrali dve bunky v hornom riadku, takže musíte vybrať prvé dve bunky v druhom rade, aby ste vytvorili stredný štvorec 2x2 pozostávajúci zo štyroch buniek.
    • Na ďalšom riadku preskočte číslo v prvej bunke a potom vyberte toľko čísel, koľko ste vybrali v medziľahlom štvorci A-1. Výsledný stredný štvorec sa bude nazývať A-2.
    • Vytvorenie medziľahlého štvorca A-3 je rovnaké ako vytvorenie medziľahlého štvorca A-1.
    • Medziľahlé štvorce A-1, A-2, A-3 tvoria vybranú oblasť A.
    • Opakujte tento postup v kvadrante D: vytvorte medziľahlé štvorce, ktoré tvoria vybranú oblasť D.
  • Existuje niekoľko rôznych klasifikácií magických štvorcov.

    piaty rád, navrhnutý tak, aby ich nejako systematizoval. V knihe

    Martin Gardner [GM90, pp. 244-345] popisuje jednu z týchto metód -

    číslom v centrálnom štvorci. Metóda je zvedavá, ale nič viac.

    Stále nie je známe, koľko štvorcov šiesteho rádu existuje, ale je ich približne 1,77 x 1019. Číslo je obrovské, takže nie je nádej na ich spočítanie pomocou vyčerpávajúceho hľadania, ale nikto nevedel prísť na vzorec na výpočet magických štvorcov.

    Ako vytvoriť magický štvorec?

    Na vytváranie magických štvorcov bolo vynájdených mnoho spôsobov. Najjednoduchší spôsob, ako vytvoriť magické štvorce nepárne poradie... Použijeme metódu, ktorú navrhol francúzsky vedec zo 17. storočia A. de la Lubert (De La Loubère). Je založená na piatich pravidlách, ktorých pôsobenie zvážime na najjednoduchšom magickom štvorci 3 x 3 bunky.

    Pravidlo 1. Vložte 1 do stredného stĺpca prvého radu (obr. 5.7).

    Ryža. 5.7. Prvé číslo

    Pravidlo 2. Ak je to možné, vložte ďalšie číslo do bunky susediacej s aktuálnou diagonálne vpravo a vyššie (obr. 5.8).

    Ryža. 5.8. Pokúšam sa zadať druhé číslo

    Pravidlo 3. Ak nová bunka presahuje štvorec zhora, zapíšte si číslo do spodného riadku a do nasledujúceho stĺpca (obr. 5.9).

    Ryža. 5.9. Dali sme druhé číslo

    Pravidlo 4. Ak bunka presahuje štvorec vpravo, zapíšte si číslo do prvého stĺpca a do predchádzajúceho riadku (obr. 5.10).

    Ryža. 5.10. Dali sme tretie číslo

    Pravidlo 5. Ak je bunka už obsadená, napíšte ďalšie číslo pod aktuálnu bunku (obr. 5.11).

    Ryža. 5.11. Dali sme štvrté číslo

    Ryža. 5.12. Dali sme piate a šieste číslo

    Znova postupujte podľa pravidiel 3, 4, 5, kým nedokončíte celý štvorec (obr.

    Pravidlá sú veľmi jednoduché a priamočiare, však, ale stále je dosť zdĺhavé umiestniť čo i len 9 čísel. Keď však poznáme algoritmus na zostavovanie magických štvorcov, môžeme ľahko delegovať všetku rutinnú prácu na počítač, pričom nám zostane iba tvorivosť, teda písanie programu.

    Ryža. 5.13. Štvorec vyplníme nasledujúcimi číslami

    Project Magic squares (Magic)

    Sada polí pre program Magické štvorce je celkom zrejmé:

    // PROGRAM PRE GENERÁCIU

    // NEPÁRNE MAGICKÉ ŠTVORCE

    // METÓDOU DE LA LUBERA

    verejná čiastková trieda Formulár1: Formulár

    //Max. rozmery štvorca: const int MAX_SIZE = 27; // var

    int n = 0; // štvorcové poradie int [,] mq; // magický štvorec

    int cislo = 0; // aktuálne číslo na štvorec

    int col = 0; // aktuálny stĺpec int riadok = 0; // aktuálny riadok

    De la Lubertova metóda je vhodná na skladanie nepárnych štvorcov ľubovoľnej veľkosti, takže používateľovi vieme poskytnúť možnosť samostatnej voľby poradia štvorca, pričom slobodu výberu rozumne obmedzíme na 27 buniek.

    Potom, čo používateľ klikne na vytúžené tlačidlo btnGen Generate! , metóda btnGen_Click vytvorí pole na uloženie čísel a prejde do metódy generovania:

    // STLAČTE TLAČIDLO „GENEROVAŤ“.

    private void btnGen_Click (odosielateľ objektu, EventArgs e)

    // štvorcové poradie:

    n = (int) udNum.Hodnota;

    // vytvorte pole:

    mq = new int;

    // vygeneruj magicky stvorec: vygeneruj ();

    lstRes.TopIndex = lstRes.Items.Count-27;

    Tu začneme konať podľa pravidiel de la Luberta a napíšeme prvé číslo - jedna - do strednej bunky prvého riadku štvorca (alebo poľa, ak chcete):

    // Generovanie magického štvorca void generation () (

    // prvé číslo: číslo = 1;

    // stĺpec pre prvé číslo je prostredný: col = n / 2 + 1;

    // riadok pre prvé číslo je prvý: riadok = 1;

    // dajte to do štvorca: mq = číslo;

    Teraz postupne pridávame zostávajúce čísla do buniek - od dvoch do n * n:

    // prejdite na ďalšie číslo:

    Zapamätajte si pre každý prípad súradnice aktuálnej bunky

    int tc = col; int tr = riadok;

    a prejdite na ďalšiu bunku pozdĺž uhlopriečky:

    Kontrolujeme splnenie tretieho pravidla:

    ak (riadok< 1) row= n;

    A potom štvrtý:

    if (col > n) (col = 1;

    goto pravidlo3;

    A po piate:

    if (mq! = 0) (col = tc;

    riadok = tr + 1; goto pravidlo3;

    Ako vieme, že na námestí je už nejaké číslo? - Je to veľmi jednoduché: do všetkých buniek sme prezieravo napísali nuly a čísla v hotovom štvorci sú väčšie ako nula. To znamená, že podľa hodnoty prvku poľa hneď určíme, či je bunka prázdna alebo už s číslom! Upozorňujeme, že tu potrebujeme súradnice bunky, ktoré sme si zapamätali pred hľadaním bunky pre ďalšie číslo.

    Skôr či neskôr nájdeme vhodnú bunku pre číslo a zapíšeme ju do zodpovedajúcej bunky poľa:

    // dajte to do štvorca: mq = číslo;

    Skúste si kontrolu prípustnosti prechodu na nový zorganizovať inak.

    vytie klietka!

    Ak bolo toto číslo posledné, potom program splnil svoje povinnosti, inak dobrovoľne pristúpi k tomu, že bunke poskytne nasledujúce číslo:

    // ak nie sú nastavené všetky čísla, tak if (číslo< n*n)

    // prechod na ďalšie číslo: goto nextNumber;

    A teraz je námestie pripravené! Vypočítame jej magickú sumu a vytlačíme ju na obrazovku:

    ) // vygenerovať ()

    Je veľmi jednoduché vytlačiť prvky poľa, ale je dôležité vziať do úvahy zarovnanie čísel rôznych „dĺžok“, pretože v štvorci môžu byť jedno-, dvoj- a trojmiestne čísla:

    // Tlač magického štvorca void writeMQ ()

    lstRes.ForeColor = Farba .Čierna;

    string s = "Magická suma =" + (n * n * n + n) / 2; lstRes.Items.Add (s);

    lstRes.Items.Add ("");

    // vytlačí magický štvorec: for (int i = 1; i<= n; ++i){

    s = "";

    pre (int j = 1; j<= n; ++j){

    if (n * n> 10 && mq< 10) s += " " ; if (n*n >100 && mq< 100) s += " " ; s= s + mq + " " ;

    lstRes.Items.Add (s);

    lstRes.Items.Add (""); ) // writeMQ ()

    Spúšťame program – štvorce sa získavajú rýchlo a na pastvu pre oči (obr.

    Ryža. 5.14. Poriadny štvorec!

    V knihe S. Goodmana, S. HydetniemiÚvod do vývoja a analýzy algoritmov

    mov, na stranách 297-299 nájdeme rovnaký algoritmus, ale v "skrátenej" prezentácii. Nie je taký „transparentný“ ako naša verzia, ale funguje korektne.

    Pridajme tlačidlo btnGen2 Generate 2! a napíšte algoritmus v jazyku

    C-shap to btnGen2_Click metóda:

    // Algoritmus ODDMS

    private void btnGen2_Click (odosielateľ objektu, EventArgs e)

    // štvorcové poradie: n = (int) udNum.Value;

    // vytvorte pole:

    mq = new int;

    // vygenerovanie magického štvorca: int riadok = 1;

    int col = (n + 1) / 2;

    pre (int i = 1; i<= n * n; ++i)

    mq = i; if (i% n == 0)

    if (riadok == 1) riadok = n;

    if (col == n) col = 1;

    // stavba štvorca je dokončená: writeMQ ();

    lstRes.TopIndex = lstRes.Items.Count - 27;

    Kliknite na tlačidlo a uistite sa, že sa vygenerujú „naše“ štvorce (obr.

    Ryža. 5.15. Starý algoritmus v novom šate

    Zdieľajte to