Faça uma função recursiva que calcule o valor da série S descrita a seguir para um valor n>0 a ser fornecido como parâmetro para a mesma.
[
S=2+\frac{5}{2}+\frac{10}{3}+···+\frac{1+n^{2}}{n}

Passo 1

Neste exercício queremos construir recursivamente a soma da série S = sumk=1^n 1 + k^2k para um dado n > 0. Vamos usar o conceito de recursão, que exige um caso base e uma definição do passo recursivo.

Passo 2

Para encontrar o caso base, observe que, quando n = 1, o único termo da série é 1 + 1^21 = 2. Logo, definimos S(1) = 2.

Passo 3

No passo recursivo, assumimos que já sabemos S(n - 1) e mostramos como obter S(n). Note que
block_start
S(n) = S(n - 1) + 1 + n^2n
block_end
Porque estamos somando o termo 1 + n^2n ao resultado já calculado para n - 1.
Agora basta traduzir essa definição para uma função recursiva em pseudocódigo (ou em C). Só precisamos checar se n = 1 e, se não for, chamar a função com n - 1 e acrescentar o termo atual.

Resposta

Segue duas versões da função recursiva.
Pseudocódigo:
função S(n: inteiro): real
    se n = 1 então
        retorne 2
    senão
        retorne S(n - 1) + (1 + n^2) / n
Implementação em C:
double S(int n) {
    if (n == 1) {
        return 2.0;
    }
    return S(n - 1) + (1 + n * n) / (double)n;
}

Exercícios relacionados