Utwórz magiczny kwadrat dla dowolnej liczby - wskazówki dotyczące programu Excel

Wiele lat temu pracowałem w Telxon z Dave'em Strongiem. Dave wspomniał, że jego dziadek wykona sztuczkę, w której poprosi kogoś w pokoju o jakąkolwiek liczbę. Myślałby wtedy bardzo intensywnie i powoli, ale celowo, budował matrycę 4x4. Każdy wiersz, kolumna i przekątna liczb sumowałyby się dokładnie do wybranej liczby. Ten typ figur nazywa się magicznym kwadratem.

Dziadkiem Dave'a był Walter Wills Strong. Był z YMCA w Europie podczas I wojny światowej i zadziwiał żołnierzy tą mentalną sztuczką. Kiedy Dave przedstawił mi ten problem, znalazłem rozwiązanie umożliwiające utworzenie podstawowego magicznego kwadratu z liczbami od 1 do 16, które sumują się do 34. Jednak dziadek Dave'a był w stanie wymyślić magiczny kwadrat dla dowolnej liczby. Teraz, wiele lat później, Dave odkrył przepis na to, jak jego dziadek zrobił tę sztuczkę. Przy odrobinie praktyki możesz sam nauczyć się tej sztuczki. Wskazówka z tego tygodnia będzie dotyczyła magicznych kwadratów. Pokaże proces używany przez dziadka Dave'a. Będzie również oferować dwa pliki Excel. Jeden plik Excela szybko oblicza magiczny kwadrat dla dowolnej liczby. Drugi plik Excela próbuje odtworzyć magiczny charakter przedstawienia, które musiał dać dziadek Dave'a,w komplecie z brodatą czarodziejką.

Teoria podstawowego magicznego kwadratu

Macierz liczb 4x4 ma dwie przekątne. Na poniższym obrazku jedna przekątna składa się z 4 żółtych kwadratów. Jedna przekątna składa się z 4 czerwonych kwadratów. Pozostałe 8 komórek krawędzi ma kolor zielony.

Aby zbudować Magiczny Kwadrat na 34, po prostu wpisz po kolei liczby od 1 do 16. Jest jeden łatwy zwrot akcji. Jeśli masz zamiar wpisać liczbę w żółtym lub czerwonym kwadracie, musiałbyś wpisać liczbę w komórce, która jest po przekątnej naprzeciw tego kwadratu. Na przykład 1, który znalazłby się w lewym górnym rogu, wypada na żółtym kwadracie. Komórka znajdująca się po przekątnej naprzeciw tego kwadratu jest w rzeczywistości szesnastym kwadratem w prawym dolnym rogu. Zamiast pisać 1 w lewym górnym kwadracie, napisz go w prawym dolnym kwadracie.

Następne dwie cyfry, 2 i 3, wypadłyby w zielone kwadraty, więc zapisz je w ich normalnym miejscu. Liczba 4 wypadałaby w czerwony kwadrat, więc zamiast pisać ją w prawym górnym rogu, wpisz liczbę 4 w lewym dolnym rogu.

Cyfra 5 zostanie zapisana w odpowiednim miejscu. 6 i 7 muszą poruszać się po przekątnej, a 8 zostanie zapisane w odpowiednim miejscu.

Kontynuuj ten wzór dla liczb od 9 do 16. W końcu otrzymasz prosty magiczny kwadrat, który sumuje się do 34 we wszystkich kierunkach

Ciekawy zwrot akcji

Dziadek Dave'a miał w tym trochę niespodziankę. W przypadku dziadka Dave'a miał odwrotną zasadę. Wszystko, co spadło na czerwony lub żółty kwadrat, było napisane we właściwym miejscu. Wszystko, co spadło na zieloną komórkę krawędzi, było napisane w kwadratowym po przekątnej. Jego podstawowy kwadrat wyglądałby jak ten.

Proponuję nauczyć się jednego z dwóch powyższych wzorców i trzymać się go. Posłużę się wzorem, w którym liczby na czerwonych lub żółtych przekątnych są zapisane po przekątnej naprzeciw ich normalnego położenia.

Tworzenie magicznego kwadratu dla dowolnej liczby

Sekretem zastosowanym przez dziadka Dave'a było poprawienie jego numeru startowego. Użył obliczenia w swojej głowie, aby obliczyć liczbę początkową inną niż 1. Jeśli pomyślisz o matematyce, każda suma na magicznym kwadracie składa się z 4 komórek. Jeśli dodasz jeden do każdej komórki, magiczny kwadrat wyniesie 38, ponieważ wszystkie 4 komórki zostaną zwiększone o 1. Oto magiczny kwadrat utworzony za pomocą liczb całkowitych od 2 do 17 zamiast od 1 do 16. W sumie wynosi 38 zamiast 34. Cała inna logika pozostaje taka sama.

Kluczem do stworzenia magicznego kwadratu, który sumuje się do dowolnej liczby, jest zmiana liczby początkowej. Przy odrobinie algebry możesz zrozumieć, dlaczego liczba początkowa jest zgodna z tym wzorem:

((Desired Number - 34) / 4 ) + 1

Oto skoroszyt programu Excel do tworzenia dowolnych magicznych kwadratów: AnyMagicSquare.xls.

Magic Square Genie

W tym skoroszycie użyto makr programu Excel VBA. Aby dżin działał, musisz zezwolić na uruchamianie makr po otwarciu tego skoroszytu. Aby włączyć makra, wykonaj następujące kroki przed pobraniem skoroszytu.

  • Otwórz Excel
  • Z menu wybierz Narzędzia> Makro> Bezpieczeństwo
  • Zmień ustawienie na Średnie
  • Pobierz i otwórz skoroszyt
  • W trakcie otwierania skoroszytu zostaniesz powiadomiony o obecności makr. Wybierz, aby włączyć.

Napisałem ten program, aby symulować występ dziadka Dave'a. Chociaż nie jest tak imponujące, jak ktoś, kto robi matematykę osobiście za pomocą ołówka i kartki, nadal daje wyobrażenie o tym, jak potoczyłby się występ. Kliknij dżina, aby rozpocząć, a on zapyta cię o numer. Następnie dżin myśli o problemie.

Dżin powoli zaczyna wypełniać liczby.

Gdy wiersze są uzupełniane, sumy wierszy i kolumn zapalają się, wskazując, że wiersze są prawidłowe.

W końcu dżin dostaje właściwy kwadrat i proponuje zrobić kolejny.

Pobierz spakowaną wersję Magic Square Genie.

Cynk kapelusza dla Dave'a Strong'a i jego dziadka Waltera Wills Strong'a za przekazanie tej techniki.

Aby dowiedzieć się więcej o używaniu VBA do automatyzacji problemów z Excelem, zapoznaj się z VBA i makrami dla Microsoft Excel, napisanymi przez Billa Jelena i Tracy Syrstad.

Aktualizacja z grudnia 2005 r

Inna metoda wykorzystująca tylko liczby całkowite

W listopadzie 2005 Ray Battersby napisał, że musi istnieć sposób na zrobienie magicznego kwadratu dla dowolnej liczby powyżej 30, używając tylko liczb całkowitych bez miejsc po przecinku. Ray stwierdził, że można dodać od jednej do czterech określonych komórek w macierzy. Na Magic Square dla 34 ułóż liczby w kolejności numerycznej i weź co drugą komórkę, zaczynając od najniższej. Na poniższym obrazku Ray zidentyfikował komórki zawierające 1, 3, 5 i 7.

Aby zmienić to na magiczny kwadrat na 35, dodaj po jednym do każdej z żółtych komórek.

Aby użyć metody Raya, odejmij 30 od żądanego wyniku. Podziel tę liczbę przez 4. Część całkowita staje się cyfrą początkową, a reszta staje się liczbą dodawaną do czterech żółtych komórek. Na przykład, aby stworzyć magiczny kwadrat dla 33:

  • 33-30 to 3
  • 3 podzielone przez 4 daje 0 z resztą 3
  • Numer początkowy to 0, jak pokazano poniżej jako Wynik Pośredni
  • Dodaj 3 do każdej z żółtych komórek, jak pokazano w końcowym wyniku poniżej

Jak zauważa Ray, oznacza to, że niektóre cyfry są powtarzane w macierzy.

Dzięki Ray za udostępnienie tej metody.

Aktualizacja ze stycznia 2008 r

Richard Letsinger napisał, że metoda Raya zadziała dla dowolnej liczby całkowitej, dodatniej lub ujemnej. Metoda nie ogranicza się tylko do liczb całkowitych powyżej 30.

Interesujące artykuły...