Ini adalah pengetahuan kuno bahwa setiap bilangan bulat non-negatif dapat ditulis ulang sebagai jumlah dari empat bilangan bulat kuadrat. Misalnya angka 1 dapat dinyatakan sebagai . Atau, secara umum, untuk bilangan bulat -negatif , ada bilangan bulat sedemikian rupa
Joseph-Louis Lagrange membuktikan ini pada 1700-an dan karenanya sering disebut Teorema Lagrange .
Ini kadang-kadang dibahas dalam kaitannya dengan angka empat - tipe angka yang ditemukan oleh William Hamilton pada 1800-an, yang direpresentasikan sebagai
Rudolf Lipschitz mempelajari angka empat dengan hanya komponen integer, yang disebut angka empat Lipschitz. Dengan menggunakan quadrance, kita dapat membayangkan bahwa setiap angka empat Lipschitz dapat dianggap memiliki teman dalam bilangan bulat. Misalnya angka empat dapat dianggap terkait dengan bilangan bulat . Juga, jika kita mundur, maka setiap bilangan bulat dapat dianggap memiliki teman di angka empat Lipschitz.
Tetapi ada detail menarik dari teorema Lagrange - penjumlahannya tidak unik. Setiap integer mungkin memiliki beberapa set empat kotak yang berbeda yang dapat dijumlahkan untuk membuatnya. Misalnya, angka 1 dapat diekspresikan dalam 4 cara menggunakan bilangan bulat non-negatif (marilah kita hanya mempertimbangkan non-negatif untuk tantangan ini):
Puncak selalu kuadrat dari 0, atau 1, tetapi mereka bisa berada di posisi yang berbeda dalam ekspresi.
Untuk tantangan ini, mari kita juga "menyortir" puncak kita yang terendah ke tertinggi, untuk menghilangkan duplikat, sehingga kita dapat mempertimbangkan, untuk latihan ini, bahwa 1 hanya memiliki satu cara untuk direpresentasikan sebagai jumlah dari empat kotak:
Contoh lain adalah angka 42, yang dapat dinyatakan dalam empat cara (sekali lagi, hanya mempertimbangkan non-negatif a, b, c, d, dan menghilangkan pengaturan komponen duplikat)
Bagaimana jika kita membayangkan masing-masing cara mengekspresikan bilangan bulat yang terkait dengan angka empat tertentu? Maka kita dapat mengatakan nomor 42 dikaitkan dengan empat angka empat ini:
menghasilkan lebar, panjang, dan tinggi 2, 2, dan 2, memberikan volume 8.
Contoh:
input -> output
0 -> 0
1 -> 0
31 -> 4
32 -> 0
42 -> 8
137 -> 96
1729 -> 10032
Ini adalah kode-golf, jumlah byte terkecil yang menang.