OneCompiler

Lista 1 - MD2

Lista 1

Aluno: Henrique Martins Alencar
Matrícula: 211061860
Linguagem: Python

Recursão Matemática

Questão 1

https://onecompiler.com/python/4329rr6v8

def fatorial(n):

  if n == 0:
      return 1
  return n * fatorial(n - 1)
    
n = int(input())
f = fatorial(n)
print(f"O fatorial de {n} é {f} \n")

Questão 2

https://onecompiler.com/python/4329rtt85

def fibonacci(n):
    
  if n == 0:
      return 0
  elif n == 1:
      return 1
    
  return fibonacci(n - 1) + fibonacci(n - 2)

n = int(input())
f = fibonacci(n)
print(f"O fibonacci de {n} é {f} \n")

Questão 3

https://onecompiler.com/python/4329rw259

def imprimir_naturais(n, atual=1):
    
  if atual > n:
      return
    
  print(atual)

  imprimir_naturais(n, atual + 1)
  
n = int(input())
f = imprimir_naturais(n)

Questão 4

https://onecompiler.com/python/4329rxw9x

def soma_recursiva(n):
    
  if n == 1:
      return 1
  elif n == 0:
      return 0
    
  return n + soma_recursiva(n - 1)
  
n = int(input())
f = soma_recursiva(n)
print(f"O resultado é {f} \n")

Divisibilidade

Questão 5

https://onecompiler.com/python/4329rzn5z

def mdc(a, b):
    
  if b > a:
      mdc(b, a)

  elif b == 0:
      return a
    
  return mdc(b, a % b)
  
a = int(input())
b = int(input())
m = mdc(a, b)
print(f"O MDC ({a}, {b}) é  igual a {m} \n")

Questão 6

https://onecompiler.com/python/4329s4ty2

def mmc(a, b):
    
  return abs(a * b) // mdc(a, b)
  
a = int(input())
b = int(input())
m = mmc(a, b)
print(f"O MMC ({a}, {b}) é  igual a {m} \n")

Aritmética Modular

Questão 7

https://onecompiler.com/python/4329s8yb8

def tabela_adicao_modular(n):
  print(f"Tabela Z_{n} para adição modular:\n")
    
  for i in range(n):
      linha = [(i + j) % n for j in range(n)]
      print(" ".join(f"{x:2}" for x in linha))

n = int(input())
tabela_adicao_modular(n)

Questão 8

https://onecompiler.com/python/4329sa6sk

def tabela_multiplicacao_modular(n):
  print(f"Tabela Z_{n} para multiplicação modular:\n")
    
  for i in range(n):
      linha = [(i * j) % n for j in range(n)]
      print(" ".join(f"{x:2}" for x in linha))
      
n = int(input())
tabela_multiplicacao_modular(n)