Od dawna wiadomo, że każdą nieujemną liczbę całkowitą można przepisać jako sumę czterech kwadratowych liczb całkowitych. Na przykład liczbę 1 można wyrazić jako . Lub, ogólnie rzecz biorąc, dla dowolnej nieujemnej liczby całkowitej istnieją liczby całkowite takie, że
Joseph-Louis Lagrange udowodnił to w 1700 roku, dlatego często nazywa się to twierdzeniem Lagrange'a .
Czasami jest to omawiane w odniesieniu do czwartorzędów - rodzaju liczby odkrytej przez Williama Hamiltona w XIX wieku, reprezentowanej jako gdzie są liczbami rzeczywistymi, a i to odrębne urojone jednostki, które nie mnożą się przemiennie. W szczególności omawia się to w odniesieniu do kwadratu każdego komponentu czwartorzędu Ta wielkość jest czasem nazywana normą lub normą do kwadratu , a także kwadrantem . Niektóre współczesne dowody twierdzenia Lagrange'a używają czwartorzędów.
Rudolf Lipschitz badał czwartorzędy zawierające wyłącznie składniki całkowite, zwane czwartorzędami Lipschitza. Korzystając z kwadrantu, możemy sobie wyobrazić, że każdy czwartorzęd Lipschitza może mieć przyjaciela w liczbach całkowitych. Na przykład czwartorzędowy można uznać za powiązany z liczbą całkowitą . Ponadto, jeśli cofniemy się, wówczas każdą liczbę całkowitą można uznać za posiadającą przyjaciela w kwaterach Lipschitza.
Istnieje jednak interesujący szczegół twierdzenia Lagrange'a - podsumowanie nie jest unikalne. Każda liczba całkowita może mieć kilka różnych zestawów czterech kwadratów, które można zsumować, aby ją utworzyć. Na przykład liczbę 1 można wyrazić na 4 sposoby przy użyciu liczb całkowitych nieujemnych (rozważmy tylko nieujemne dla tego wyzwania):
1 = 1 ^ 2 + 0 ^ 2 + 0 ^ 2 + 0 ^ 2
Sumy mają zawsze kwadraty 0 lub 1, ale mogą znajdować się w różnych pozycjach wyrażenia.
W przypadku tego wyzwania „posortujmy” nasze sumy od najniższych do najwyższych, aby wyeliminować duplikaty, abyśmy mogli rozważyć w tym ćwiczeniu, że 1 ma tylko jeden sposób przedstawienia się jako suma czterech kwadratów:
Innym przykładem jest liczba 42, którą można wyrazić na cztery sposoby (ponownie, biorąc pod uwagę tylko nieujemne a, b, c, d i eliminując zduplikowane układy składników)
Co jeśli wyobrażamy sobie, że każdy z tych różnych sposobów wyrażania liczby całkowitej jest powiązany z konkretnym czwartorzędem? Możemy więc powiedzieć, że liczba 42 jest związana z tymi czterema czwartorzędami:
Jeśli wyobrażamy sobie standardową interpretację grafiki komputerowej czwartorzędu, gdzie , i są wektorami w trójwymiarowej przestrzeni euklidesowej , a więc składowe , i czwartorzędu są trójwymiarowymi współrzędnymi kartezjańskimi , wówczas możemy sobie wyobrazić, że każdą liczbę całkowitą, poprzez ten proces myślowy, można powiązać z zestawem trójwymiarowych współrzędnych w przestrzeni. Na przykład liczba 42 jest powiązana z następującymi czterema współrzędnymi : x y z ( x , y , z ) ( 1 , 4 , 5 ) , ( 1 , 2 , 6 ) , ( 3 , 4 , 4 ) , ( 2 , 3 , 5 )
Można to uznać za chmurę punktów lub zestaw punktów w przestrzeni. Jedną ciekawą rzeczą dotyczącą zestawu skończonych punktów w przestrzeni jest to, że zawsze możesz narysować wokół nich minimalne obwiednię - pole, które jest wystarczająco duże, aby zmieścić wszystkie punkty, ale nie większe. Jeśli wyobrażasz sobie, że to pole jest zwykłym polem wyrównanym do osi , nazywa się to obwiednią wyrównaną do osi . Obwiednia ma również objętość, którą można obliczać, określając jej szerokość, długość i wysokość oraz mnożąc je razem.
Następnie możemy sobie wyobrazić objętość obwiedni dla punktów utworzonych przez nasze czwartorzędy. Dla liczby całkowitej 1, korzystając z kryteriów tego ćwiczenia, mamy jedną ćwiartkę, której kwadrant wynosi 1, . Jest to bardzo prosta chmura punktów, ma tylko jeden punkt, więc jej obwiednia ma objętość 0. Jednak dla liczby całkowitej 42 mamy cztery ćwiartki, a więc cztery punkty, wokół których możemy narysować obwiednię. Minimalny punkt pudełka to a maksymalny to co daje szerokość, długość i wysokość 2, 2 i 2, co daje objętość 8.
Powiedzmy, że dla liczby całkowitej objętość q jest objętością wyrównanego do osi pola granicznego wszystkich punktów 3D utworzonych przez ćwiartki o ćwiartce równej , gdzie składowe ćwiartki są nieujemne i .
Utwórz program lub funkcję, która, biorąc pod uwagę jedną nieujemną liczbę całkowitą , wyświetli qvolume .
Przykłady:
input -> output
0 -> 0
1 -> 0
31 -> 4
32 -> 0
42 -> 8
137 -> 96
1729 -> 10032
To jest golf golfowy, najmniejsza liczba bajtów wygranych.