Atividades
#4) Fatorial de ( n ) utilizando recursividade:
def fatorial(n):
if n == 0 or n == 1:
return 1
return n * fatorial(n - 1)
Exemplo
print(f"5! = {fatorial(5)}")
#5) Sequência de Fibonacci recursiva:
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
return fibonacci(n - 1) + fibonacci(n - 2)
Exemplo
n = 10 # Número de termos desejados
fibonacci_sequence = [fibonacci(i) for i in range(n)]
print(f"Primeiros {n} números de Fibonacci: {fibonacci_sequence}")
#6) Imprimir recursivamente os números naturais de 1 a ( n ):
def imprimir_naturais(n):
if n > 0:
imprimir_naturais(n - 1)
print(n, end=" ")
Exemplo
print("Números naturais de 1 a 10:")
imprimir_naturais(10)
#7) Soma recursiva dos números de 1 a ( n ):
def soma_recursiva(n):
if n == 0:
return 0
return n + soma_recursiva(n - 1)
Exemplo
n = 10
print(f"Soma dos números de 1 a {n}: {soma_recursiva(n)}")
#1) Mostrar que dois inteiros consecutivos são primos entre si
import math
def sao_primos_entre_si(n, m):
return math.gcd(n, m) == 1
Exemplo
primos_consecutivos = sao_primos_entre_si(10, 11)
print(f"10 e 11 são primos entre si? {primos_consecutivos}")
#2) Calcular o MMC ((n, n+1))
def mmc(a, b):
return abs(a * b) // math.gcd(a, b)
Exemplo
n = 10
mmc_n_n1 = mmc(n, n + 1)
print(f"MMC({n}, {n + 1}) = {mmc_n_n1}")
#3) Determinar (a) e (b) com (a \cdot b = 9900) e (MMC(a, b) = 330)
def encontrar_a_b(produto, mmc_dado):
for a in range(1, int(math.sqrt(produto)) + 1):
if produto % a == 0:
b = produto // a
if mmc(a, b) == mmc_dado:
return a, b
return None, None
Exemplo
a, b = encontrar_a_b(9900, 330)
print(f"a = {a}, b = {b}")