Tienes opciones para elegir. Lo importante a la hora de tirar por recursividad es tener claro qué se ha de ejecutar en cada iteración... bueno, realmente esto es importante en cualquier caso :)
1. La función lleva la cuenta de la suma y al final imprime el resultado... mientras tanto va acumulando números al total y a la consola:
Código C++:
Ver originalvoid contador(int actual, int fin, int suma)
{
std::cout << actual;
suma += actual;
if( actual != fin )
{
std::cout << "+";
contador(actual+1,fin,suma);
}
else
{
std::cout << "=" << suma;
}
}
int main()
{
contador(4,8,0);
}
2. La función recursiva retorna parciales y es la primera función la que tiene el resultado final:
Código C++:
Ver originalint contador1(int actual, int fin)
{
int parcial = actual;
std::cout << actual;
if( actual != fin )
{
std::cout << "+";
parcial += contador1(actual+1,fin);
}
return parcial;
}
void contador(int actual, int fin)
{
int total = contador1(actual,fin);
std::cout << "=" << total;
}
int main()
{
contador(4,8);
}
Un saludo.