41 lines
894 B
Python
41 lines
894 B
Python
# Funções recursivas e recursividade
|
|
# - funções que podem se chamar de volta
|
|
# - úteis p/ dividir problemas grandes em partes menores
|
|
# Toda função recursiva deve ter:
|
|
# - Um problema que possa ser dividido em partes menores
|
|
# - Um caso recursivo que resolve o pequeno problema
|
|
# - Um caso base que para a recursão
|
|
# - fatorial - n! = 5! = 5 * 4 * 3 * 2 * 1 = 120
|
|
# https://brasilescola.uol.com.br/matematica/fatorial.htm
|
|
# import sys
|
|
|
|
# sys.setrecursionlimit(1004)
|
|
|
|
|
|
# def recursiva(inicio=0, fim=4):
|
|
|
|
# print(inicio, fim)
|
|
|
|
# # Caso base
|
|
# if inicio >= fim:
|
|
# return fim
|
|
|
|
# # Caso recursivo
|
|
# # contar até chegar ao final
|
|
# inicio += 1
|
|
# return recursiva(inicio, fim)
|
|
|
|
|
|
# print(recursiva(0, 1001))
|
|
|
|
def factorial(n):
|
|
if n <= 1:
|
|
return 1
|
|
|
|
return n * factorial(n - 1)
|
|
|
|
|
|
print(factorial(5))
|
|
print(factorial(10))
|
|
print(factorial(100))
|