Faça uma função recursiva que receba um número inteiro positivo Ne e imprima todos os números naturais de 0 até N em ordem crescente.
Passo 1
A questão pede uma função recursiva que recebe um inteiro positivo N e imprime todos os naturais de 0 até N em ordem crescente. O conteúdo é recursão, e vamos precisar identificar o caso base e o caso recursivo para montar essa função.
Passo 2
Para montar a recursão, primeiro definimos o caso base, ou seja, a situação mais simples que não chama a função de novo. Aqui, quando N = 0, basta imprimir 0 e não fazer mais chamadas.
Passo 3
Em seguida, no caso recursivo, para N > 0, a ideia é imprimir todos os números de 0 até N−1 antes de imprimir N. Então a função chama a si mesma com argumento N−1 e, em seguida, imprime o valor atual N.
Passo 4
Com esse roteiro, implementamos a função. No exemplo em C, usamos printf para imprimir e fazemos a chamada recursiva antes de imprimir N, garantindo que a saída fique em ordem crescente. "
Resposta
void imprimeDe0aN(int N) {
if (N == 0) {
printf("0 “);
} else {
imprimeDe0aN(N - 1);
printf(”%d ", N);
}
}
if (N == 0) {
printf("0 “);
} else {
imprimeDe0aN(N - 1);
printf(”%d ", N);
}
}