Suma recursiva d’un vector

En aquest problema, caldrà implementar la suma dels elements d’un vector de forma recursiva, és a dir, sense fer servir cap bucle (for o while).

Implementa una funció suma_vector amb la declaració següent:

#include <vector>
using namespace std;

/**
 * @brief Calcula la suma dels elements d'un vector a partir de la 
 *        casella `c` fins al final del vector, de forma recursiva.
 *
 * @param v El vector d'enters a sumar
 * @param c L'índex a partir del qual es comença a sumar
 *
 * @pre c >= 0
 *
 * @returns La suma dels elements v[c] + v[c+1] + ... + v[n-1], on
 *          n és la mida del vector. Si c >= n, retorna 0.
 */
int suma_vector(vector<int>& v, int c);

Per exemple, si tenim un vector v amb els elements {3, 1, 4, 1, 5} i cridem suma_vector(v, 0), el resultat serà 14 (la suma de tots els elements). Si cridem suma_vector(v, 2), el resultat serà 10 (la suma de 4 + 1 + 5).

Observació

El centre d’interès d’aquest problema és la correctesa. Els jocs de prova comproven que la majoria de casos possibles produeixin la sortida correcta.

IMPORTANT: Quan envieu aquest problema, cal posar en el fitxer .cc només la funció suma_vector amb els includes necessaris. Cal esborrar (o comentar amb /* i */) la funció main i llegir_vector si heu modificat el main.cc proporcionat.

Entrada

L’entrada ja la fa el programa principal proporcionat. Consisteix en un seguit de casos. Cada cas comença amb un enter nn (n0n \geq 0) que indica la mida del vector, seguit de nn enters que són els elements del vector.

Sortida

La sortida també la produeix el programa principal proporcionat. Per a cada cas, es mostra la suma dels elements del vector en una línia.

Informació del problema

Autoria: Pau Fernández

Generació: 2026-02-03T07:44:28.301Z

© Jutge.org, 2006–2026.
https://jutge.org