Ter regras lógicas recursivas
- A recursão deve vir por último
ascendente(X, X).
ascendente(X, Y) :- pai(X, Z), ascendente(Z, Y).
Usamos a recursão quando
- Condição de parada
- Iteração sobre estrutura de dados
- Definição recursiva
O fatorial de um número natural n é o produto de todos os inteiros positivos menores ou iguais a n. O fatorial de 0 é 1, por definição.
Implementar fatorial/2
fatorial(0, X).
fatorial(5, X).
fatorial(200, X).
fatorial(2000, X).
fatorial(20000, X).
Qual a vantagem da abstração lógica?
Os primeiros dois números da sequência são 0 e 1. Números subsequentes são a soma dos dois números anteriores
Implementar fibonacci/2
fibonacci(0, X).
fibonacci(10, X).
fibonacci(20, X).
Retornar o valor na posição 0, 10, e 20.