1. Cálculo do Fatorial com Recursividade
- Esta função calcula o fatorial de um número usando recursão.
num_entrada = int(input("Digite um número inteiro positivo: "))
def calcular_fatorial(x):
return 1 if x <= 1 else x * calcular_fatorial(x - 1) # chamada recursiva
if num_entrada < 0:
print("Números negativos não são permitidos.")
else:
print(f"O fatorial de {num_entrada} é {calcular_fatorial(num_entrada)}")
2. Gerador da Sequência de Fibonacci
- Esta função gera a sequência de Fibonacci até um número especificado de termos.
termos_fib = int(input("Digite o número de termos da sequência de Fibonacci: "))
def gerar_fibonacci(termo):
return 1 if termo <= 2 else gerar_fibonacci(termo - 1) + gerar_fibonacci(termo - 2) # recursão
print(f"Sequência de Fibonacci até o {termos_fib}º termo:")
for indice in range(1, termos_fib + 1):
print(gerar_fibonacci(indice), end=" ")
print()
3. Impressão de Números Naturais de 1 a N
- Esta função imprime todos os números naturais de 1 até um limite dado, usando recursão.
limite_natural = int(input("Digite um número natural: "))
def exibir_numeros(atual, limite):
if atual > limite: return # Para a recursão quando atual excede o limite
print(atual)
exibir_numeros(atual + 1, limite) # Chamada recursiva
if limite_natural < 1:
print("Digite um número natural maior ou igual a 1.")
else:
exibir_numeros(1, limite_natural)
4. Soma Recursiva de 1 a N
- Esta função calcula a soma de todos os números de 1 até um dado número, usando recursão.
valor_positivo = int(input("Digite um número inteiro positivo: "))
def soma_recursiva(x):
return 0 if x == 0 else x + soma_recursiva(x - 1) # Caso base e soma recursiva
if valor_positivo <= 0:
print("Digite um número positivo.")
else:
print(f"A soma dos números de 1 até {valor_positivo} é {soma_recursiva(valor_positivo)}")
5. Algoritmo de Euclides para o Cálculo do MDC
- Esta função calcula o máximo divisor comum (MDC) de dois números usando o algoritmo de Euclides.
num_a = int(input("Digite o número A: "))
num_b = int(input("Digite o número B: "))
def calcular_mdc(x, y):
while y: # Continua até o resto ser zero
x, y = y, x % y
return x
print(f"O MDC de {num_a} e {num_b} é {calcular_mdc(num_a, num_b)}")
6. Cálculo do MMC Usando o MDC
- Esta função calcula o mínimo múltiplo comum (MMC) de dois números usando o MDC.
mmc_a = int(input("Digite o número A: "))
mmc_b = int(input("Digite o número B: "))
def calcular_mdc(x, y):
while y:
x, y = y, x % y
return x
def calcular_mmc(x, y):
return x * y // calcular_mdc(x, y) # Fórmula para o MMC
print(f"O MMC de {mmc_a} e {mmc_b} é {calcular_mmc(mmc_a, mmc_b)}")
7. Tabela de Adição Modular para Z_n
- Esta função gera uma tabela de adição modular de tamanho n.
tamanho_tabela_modular = int(input("Digite o tamanho da tabela de adição: "))
def tabela_adicao_modular(tamanho):
tabela = [] # Inicializa a tabela
for linha in range(tamanho):
linha_atual = [] # Cria uma linha
for coluna in range(tamanho):
linha_atual.append((linha + coluna) % tamanho) # Calcula a soma modular
tabela.append(linha_atual) # Adiciona a linha à tabela
return tabela
def imprimir_tabela(matriz):
for linha in matriz:
print(' '.join(map(str, linha))) # Exibe cada linha da tabela
tabela_adicao = tabela_adicao_modular(tamanho_tabela_modular)
imprimir_tabela(tabela_adicao)
8. Tabela de Multiplicação Modular para Z_n
- Esta função gera uma tabela de multiplicação modular de tamanho n.
tamanho_tabela_mult_modular = int(input("Digite o tamanho da tabela de multiplicação: "))
def tabela_multiplicacao_modular(tamanho):
tabela = [] # Inicializa a tabela
for linha in range(tamanho):
linha_atual = [] # Cria uma linha
for coluna in range(tamanho):
linha_atual.append((linha * coluna) % tamanho) # Calcula o produto modular
tabela.append(linha_atual) # Adiciona a linha à tabela
return tabela
tabela_multiplicacao = tabela_multiplicacao_modular(tamanho_tabela_mult_modular)
imprimir_tabela(tabela_multiplicacao)