Teorema dei quattro quadrati

Potete darmi una dritta per risolvere teorema dei quattro quadrati?
Pensavo di implementarlo con la programmazione dinamica, fare un vettore di grandezza 2^15, riempire questo vettore con i vari valori, poi leggere la richiesta e per ogni V stampare vettore[V]
Detto questo, non so come creare il vettore:
l’1 può esser fatto in 1 modo (12)
il 2 può esser fatto in 1 modo (1
2 + 12)
il 3 può esser fatto in 1 modi (1
2 + 12 + 12)
il 4 può esser fatto in 2 modi
ecc…
Andando avanti a studiare i valori, speravo di trovare qualche proprietà che mi facesse capire come impostare il vettore, invece proprio niente.
Avete qualche dritta?
Grazie :two_hearts:

l’1 può essere fatto in un modo che sarebbe a=1, b=c=d=0 dato che 0^2 fa 0.

Io l’ho risolto usando dei cicli annidati per crearmi il vettore (si, la tua idea è corretta).

1 Mi Piace

Puoi darmi una mano per come crearmi il vettore?
Non riesco proprio

Un’idea banale può essere quella di eseguire tutte le possibili somme, contandole una ad una.

0 + 0 + 0 + 0 = 0 -> V[0]++
0 + 0 + 0 + 1 = 1 -> V[1]++
0 + 0 + 0 + 4 = 4 -> V[4]++

A questo punto l’unico particolare a cui fare attenzione rimane evitare di contare più di una volta la stessa somma (ad esempio 1 + 0 + 0 + 0 e 0 + 1 + 0 + 0)

1 Mi Piace