forked from luizomf/cursopython2023
-
Notifications
You must be signed in to change notification settings - Fork 0
/
aula114.py
40 lines (28 loc) · 894 Bytes
/
aula114.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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))