-
func(4) = (4-1)*func(3) --> (3-1)*func(2) --> (2-1)*func(1)
func(1) retorna 1
func(2) retorna 1
func(3) retorna 2
e 2*3 é 6
func(5) = (5-1)*func(4)
Como ja sabemos que func(4) retorna 6 então 4*6 =24
-
func(4) = 3 * func(3)
func(3) = 2 * func(2)
func(2) = 1 * func(1)
func(1) = 1
- Começa o caminha reverso:
func(2) = 1 * 1 => 1
func(3) = 2 * 1 => 2
func(4) = 3 * 2 => 6
func(5) = 4 * 6 => 24
-
func(1) = 1
----------------------------------
func(2) = (2 - 1) * func(2 - 1) - Aqui ele chama a func(1) que é o numero 1
func(2) = 1 * 1
func(2) = 1
----------------------------------
func(3) = (3 - 1) * func(3 - 1) - Aqui ele chama a func(2) que é o numero 1
func(3) = 2 * 1
func(3) = 2
----------------------------------
func(4) = (4 - 1) * func(4 - 1) - Aqui ele chama a func(3) que é o numero 2
func(4) = 3 * 2
func(4) = 6
----------------------------------
func(5) = (5 - 1) * func(5 - 1) - Aqui ele chama a func(4) que é o numero 6
func(5) = 4 * 6
func(5) = 24
-
Vamos matar esta no peito por meio de debug.
func(1) = 1 , por definição do enunciado
func(2) = (2 – 1)*func(2 – 1) = func(1) = 1
func(3) = (3 – 1)*func(3 – 1) = 2*func(2) = 2*1 = 2
func(4) = (4 – 1)*func(4 – 1) = 3*func(3) = 3*2 = 6
func(5) = (5 – 1)*func(5 – 1) = 4*func(4) = 4*6 = 24
Portanto, func(4) = 6 e func(5) = 24.
Obs: A func(n), na forma como foi definida pelo avaliador, nada mais é que (n-1)!, isto é, fatorial de (n-1).
Resposta: C
-
Força Guerreiro!!!!!!
-
Força Guerreiro!!!!!!