Range (Recursivo) Z33307


Statement
 

pdf   zip   main.cc

thehtml

Debes hacer una función recursiva tal que, dados dos enteros start y end, imprima por pantalla todos los números enteros desde end hasta start (ambos incluidos), de mayor a menor, separados por un solo espacio. Toda la salida de la función debe estar en una sola línea (sin espacios antes del primer número ni después del último).

Esta es la declaración de la función:

/**
 * @brief Imprime por pantalla todos los enteros desde end hasta 
 *        start (ambos incluidos), de mayor a menor, separados 
 *        por un solo espacio.
 *
 * @pre start > 0, end > 0, start <= end. 
 */
void range(int start, int end);

Observación

El icono de nombre ".CPP" contiene el programa principal para hacer pruebas.

Solo debes enviar un archivo que contenga la función requerida, con los include necesarios y las funciones auxiliares que hayas declarado (si las hay), y nada más.

Solo aceptaremos una solución recursiva. Una solución no recursiva anulará el ejercicio entero. Si es necesario, podéis usar funciones auxiliares no recursivas, pero el grueso del cálculo debe estar en la función recursiva.

Entrada

Varios casos de prueba. Cada caso de prueba contiene dos enteros start y end, con start > 0, end > 0 y start <= end.

Salida

Para cada caso de prueba, una línea con todos los enteros desde end hasta start (ambos incluidos), de mayor a menor, separados por un solo espacio.

Public test cases
  • Input

    1 1
    1 5
    5 10
    3 3
    10 15
    

    Output

    1
    5 4 3 2 1
    10 9 8 7 6 5
    3
    15 14 13 12 11 10
    
  • Information
    Author
    Pau Fernández
    Language
    Spanish
    Translator
    Original language
    Catalan
    Other languages
    Catalan
    Official solutions
    C++
    User solutions
    C++