Una llista d’enters és equilibrada si algun element de la llista compleix que la suma dels seus predecessors és igual a la suma dels seus successors.
Per exemple, la llista és equilibrada ja que el compleix que .
Implementa una funció RECURSIVA que donada un llista d’enters torna cert si la llista és equilibrada i fals altrament.
La capçalera de la funció és la següent:
// Pre: cert
// Post: retorna cert si la llista té algun element que compleix que la suma
// dels seus predecessors és igual a la suma dels seus successors; fals altrament
bool llista_equilibrada(const list<int> &l)
La funció i subfuncions que creïs han de treballar només amb llistes
(la classe list de la biblioteca STL). Has de trobar una
solució RECURSIVA i eficient del problema. En
particular, no hi hauria d’haver cap bucle en cap de les funcions que
implementis. Si crees funcions auxiliars, afegeix-hi les corresponents
Precondició (Pre) i Postcondició
(Post). En les crides recursives inclou la hipòtesi
d’inducció (HI) i la funció de fita (FF).
IMPORTANT: Només cal enviar el procediment demanat; el programa principal serà ignorat.
Input/Output