Considere a seguinte função recursiva, implementada em Linguagem C:
int fatorial (int num)
{
if(num==0)
return 1;
else
return n * factorial (n-1);
}
Qual é o resultado final se a função receber como parâmetro de entrada num = 4?
Escolha uma:
a.
4.
b.
24.
c.
8.
d.
12.
e.
6.
Soluções para a tarefa
A resposta correta é 24
Este é um programa de calculo fatorial, logo seus resultados são exponenciais.
No caso Base do programa
if(num==0)
return 1;
Ou seja:
Se "num" for igual à 0
Retorna -> 1 (esse "return 1", quer dizer que esse será o valor armazenado na matriz "factorial")
Mas caso "num" não seja 0, então:
return n * factorial (n-1);
Ou seja:
"n" é o número de entrada (o "num"), " * " vezes o último resultado obtido em "factorial".
Fazendo o processo gradativo:
Se "num" for igual à 0
Retorna -> 1
Se "num" for igual à 1
Retorna -> 1 * 1 = 1
Retorna -> 1
Se "num" for igual à 2
Retorna -> 2 * 1 = 2
Retorna -> 2
Se "num" for igual à 3
Retorna -> 3 * 2 = 6
Retorna -> 6
Se "num" for igual à 4
Retorna -> 4 * 6 = 24
Retorna -> 24
RESPOSTA CORRETA: b) 24
Resposta:
Explicação:
CORRETA: b) 24