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 (12 + 12)
il 3 può esser fatto in 1 modi (12 + 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
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