For mange år siden arbejdede jeg hos Telxon med Dave Strong. Dave havde nævnt, at hans bedstefar ville udføre et trick, hvor han ville bede nogen i rummet om et hvilket som helst nummer. Han ville så tænke meget hårdt og langsomt men bevidst bygge en 4x4 matrix. Hver række, kolonne og diagonal med tal ville tilføje nøjagtigt det valgte antal. Denne type figur kaldes en magisk firkant.
Daves bedstefar var Walter Wills Strong. Han var sammen med YMCA i Europa under første verdenskrig og ville forbløffe tropperne med dette mentale trick. Da Dave introducerede problemet for mig, fandt jeg en løsning til at skabe den grundlæggende magiske firkant med numre 1 til 16, der tilføjede 34. Daves bedstefar var dog i stand til at komme med en magisk firkant til ethvert nummer. Nu, mange år senere, har Dave opdaget formlen for, hvordan hans bedstefar gjorde dette trick. Med lidt øvelse kan du selv lære tricket. Denne uges tip vil tale om magiske firkanter. Det viser den proces, der bruges af Daves bedstefar. Det vil også tilbyde to Excel-filer. En Excel-fil beregner hurtigt en magisk firkant for ethvert tal. Den anden Excel-fil forsøger at replikere den fortryllende karakter af den præstation, som Daves bedstefar skal have givet,komplet med en skægget guide.
Teorien om en grundlæggende magisk firkant
En 4x4 matrix med tal har to diagonaler. På billedet nedenfor består en diagonal af de 4 gule firkanter. En diagonal består af de 4 røde firkanter. De resterende otte kantceller er farvet grøn.
For at konstruere en Magic Square til 34 skal du blot skrive tallene fra 1 til 16 i rækkefølge. Der er et let twist. Hvis du er ved at skrive et tal i en gul eller rød firkant, bliver du nødt til at skrive tallet i cellen, der er diagonalt modsat den firkant. For eksempel falder 1, der ville gå i øverste venstre hjørne, på en gul firkant. Cellen diagonalt overfor denne firkant er faktisk det 16. firkant i nederste højre hjørne. I stedet for at skrive 1 i øverste venstre firkant, skriv den i nederste højre firkant.
De næste to tal, 2 og 3, falder i grønne firkanter, så skriv dem på deres normale sted. Nummeret 4 falder i en rød firkant, så i stedet for at skrive det i øverste højre hjørne, skriv tallet 4 i nederste venstre hjørne.
Nummer 5 bliver skrevet på det rigtige sted. 6 & 7 skal bevæge sig diagonalt, og 8 bliver skrevet på det rigtige sted.
Fortsæt dette mønster for tallene 9 til 16. Du ender til sidst med en simpel magisk firkant, der tilføjer op til 34 i alle retninger
En interessant drejning
Daves bedstefar havde lidt twist på dette. For Daves bedstefar havde han den modsatte regel. Alt, der faldt på en rød eller gul firkant, blev skrevet på det rigtige sted. Alt, der faldt på en grøn kantcelle, blev skrevet i den diagonalt modsatte firkant. Hans grundlæggende firkant ville have set ud som denne.
Jeg foreslår, at du lærer et af de to ovenstående mønstre og holder fast ved det. Jeg vil bruge det mønster, hvor tal i de røde eller gule diagonaler skrives diagonalt modsat deres normale placering.
Oprettelse af en magisk firkant til ethvert nummer
Den hemmelighed, der blev brugt af Daves bedstefar, var at justere hans startnummer. Han brugte en beregning i hovedet for at finde ud af et andet startnummer end 1. Hvis du tænker på matematikken, består hver sum i den magiske firkant af 4 celler. Hvis du tilføjede en til hver celle, ville den magiske firkant udgøre 38, fordi alle 4 celler ville blive forøget med 1. Her er en magisk firkant oprettet ved hjælp af heltalene fra 2 til 17 i stedet for 1 til 16. Det er i alt 38 i stedet for 34. Al den anden logik forbliver den samme.
Nøglen til at skabe et magisk firkant, der tilføjer et hvilket som helst tal, er at variere startnummeret. Med en smule algebra kan du forstå, hvorfor startnummeret følger denne formel:
((Desired Number - 34) / 4 ) + 1
Her er Excel-projektmappen til at oprette enhver ønsket Magic Square: AnyMagicSquare.xls.
Magic Square Genie
Denne projektmappe bruger Excel VBA-makroer. For at genien skal fungere, skal du tillade makroer at køre, når du åbner denne projektmappe. For at aktivere makroer skal du følge disse trin, før du downloader projektmappen.
- Åbn Excel
- Fra menuen skal du vælge Værktøjer> Makro> Sikkerhed
- Skift indstillingen til Medium
- Download og åbn projektmappen
- Når projektmappen åbnes, får du besked om, at der findes makroer. Vælg at aktivere.
Jeg skrev dette program for at simulere den opførelse, som Daves bedstefar gav. Selvom det ikke er så imponerende som en person, der laver matematikken personligt med en blyant og et papir, giver det dig stadig en idé om, hvordan forestillingen ville gå. Klik på Genie for at starte, så beder han dig om et nummer. Genien tænker derefter på problemet.
Genien begynder langsomt at udfylde tal.
Efterhånden som rækkerne er afsluttet, lyser række- og kolonnetotalerne op for at indikere, at rækkerne er rigtige.
Til sidst får genien den rigtige firkant og tilbyder at gøre en anden.
Download en version med Magic Square Genie med lynlås.
Et tip på hatten til Dave Strong og hans bedstefar Walter Wills Strong for at give denne teknik videre.
Hvis du vil lære mere om brug af VBA til at automatisere Excel-problemer, skal du tjekke VBA og makroer til Microsoft Excel, skrevet af Bill Jelen og Tracy Syrstad.
Opdatering fra december 2005
En anden metode, der kun bruger heltal
I november 2005 skrev Ray Battersby, at der skal være en måde at udføre en magisk firkant for ethvert antal over 30, der kun bruger heltal uden decimaler. Ray identificerede, at du kunne tilføje en til fire specifikke celler i matrixen. I Magic Square til 34 skal du arrangere tallene i numerisk rækkefølge og tage hver anden celle begyndende med den laveste. På billedet nedenfor identificerede Ray cellerne, der indeholder 1, 3, 5 og 7.
For at ændre dette til en magisk firkant for 35 skal du tilføje en til hver af de gule celler.
For at bruge Rays metode skal du trække 30 fra det ønskede resultat. Del dette tal med 4. Heltalsdelen bliver startcifret, og resten bliver det nummer, du tilføjer til de fire gule celler. For eksempel at oprette en magisk firkant til 33:
- 33-30 er 3
- 3 divideret med 4 er 0 med en rest på 3
- Startnummeret er 0 som vist som det mellemliggende resultat nedenfor
- Føj 3 til hver af de gule celler som vist i det endelige resultat nedenfor
Som Ray bemærker betyder det, at nogle af cifrene gentages i matrixen.
Tak til Ray for at dele denne metode.
Opdatering fra januar 2008
Richard Letsinger skrev ind for at bemærke, at Rays metode ville fungere for ethvert heltal, positivt eller negativt. Metoden er ikke kun begrænset til heltal over 30.