C'est une connaissance ancienne que chaque entier non négatif peut être réécrit comme la somme de quatre entiers carrés. Par exemple, le nombre 1 peut être exprimé comme . Ou, en général, pour tout entier non négatif , il existe des entiers tels que
Joseph-Louis Lagrange l'a prouvé dans les années 1700 et c'est ce qu'on appelle souvent le théorème de Lagrange .
Ceci est parfois discuté en relation avec les quaternions - un type de nombre découvert par William Hamilton dans les années 1800, représenté par où sont des nombres réels, et et sont des unités imaginaires distinctes qui ne se multiplient pas commutativement. Plus précisément, elle est discutée en relation avec la quadrature de chaque composant du quaternion Cette quantité est parfois appelée la norme, ou la norme au carré , ou aussi la quadrance . Certaines preuves modernes du théorème de Lagrange utilisent des quaternions.
Rudolf Lipschitz a étudié les quaternions avec uniquement des composants entiers, appelés quaternions de Lipschitz. En utilisant quadrance, nous pouvons imaginer que chaque quaternion de Lipschitz peut être pensé comme ayant un ami dans les nombres entiers. Par exemple, quaternion peut être considéré comme associé à l'entier . De plus, si nous reculons, chaque entier peut être considéré comme ayant un ami dans les quaternions de Lipschitz.
Mais il y a un détail intéressant du théorème de Lagrange - la sommation n'est pas unique. Chaque entier peut avoir plusieurs ensembles différents de quatre carrés qui peuvent être additionnés pour le créer. Par exemple, le nombre 1 peut être exprimé de 4 façons en utilisant des entiers non négatifs (considérons uniquement les non négatifs pour ce défi):
Les sommets sont toujours des carrés de 0 ou 1, mais ils peuvent se trouver à différentes positions dans l'expression.
Pour ce défi, «trions» aussi nos sommets du plus bas au plus haut, pour éliminer les doublons, afin que nous puissions considérer, pour cet exercice, que 1 n'a qu'une seule façon d'être représenté comme la somme de quatre carrés:
Un autre exemple est le nombre 42, qui peut être exprimé de quatre façons (encore une fois, en ne considérant que les a, b, c, d non négatifs et en éliminant les arrangements de composants en double)
Et si nous imaginions chacune de ces différentes manières d'exprimer un entier comme étant associée à un quaternion spécifique? On pourrait alors dire que le nombre 42 est associé à ces quatre quaternions:
Si nous imaginons l'interprétation graphique standard d'un quaternion, où , et sont des vecteurs dans l'espace euclidien tridimensionnel, et donc les composantes , et du quaternion sont des coordonnées cartésiennes tridimensionnelles , alors nous pouvons imaginer que chaque entier, à travers ce processus de pensée, peut être associé à un ensemble de coordonnées tridimensionnelles dans l'espace. Par exemple, le nombre 42 est associé aux quatre : x y z ( x , y , z ) ( 1 , 4 , 5 ) , ( 1 , 2 , 6 ) , ( 3 , 4 , 4 ) , ( 2 , 3 , 5 )
Cela peut être considéré comme un nuage de points ou un ensemble de points dans l'espace. Maintenant, une chose intéressante à propos d'un ensemble de points finis dans l'espace est que vous pouvez toujours dessiner une boîte englobante minimale autour d'eux - une boîte qui est assez grande pour contenir tous les points, mais pas plus grande. Si vous imaginez la boîte comme étant une boîte ordinaire alignée sur les axes , elle est appelée boîte englobante alignée sur l'axe . La boîte englobante a également un volume, calculable en déterminant sa largeur, sa longueur et sa hauteur, et en les multipliant ensemble.
On peut alors imaginer le volume d'une boîte englobante pour les points formés par nos quaternions. Pour l'entier 1, nous avons, en utilisant les critères de cet exercice, un quaternion dont la quadrance est 1, . Ceci est un nuage de points très simple, il n'a qu'un seul point, donc sa boîte englobante a le volume 0. Pour l'entier 42, cependant, nous avons quatre quaternions, et donc quatre points, autour desquels nous pouvons dessiner une boîte englobante. Le point minimum de la boîte est et le maximum est ce qui donne une largeur, une longueur et une hauteur de 2, 2 et 2, ce qui donne un volume de 8.
Disons que pour un entier , le qvolume est le volume de la boîte englobante alignée sur l'axe de tous les points 3D formés par des quaternions qui ont une quadrance égale à , où les composants du quaternion sont non négatifs et .
Créez un programme ou une fonction qui, étant donné un seul entier non négatif , produira le volume de .
Exemples:
input -> output
0 -> 0
1 -> 0
31 -> 4
32 -> 0
42 -> 8
137 -> 96
1729 -> 10032
C'est le code-golf, le plus petit nombre d'octets gagne.