OneCompiler

Lista 01 - MD2

Links para os exercícios: https://onecompiler.com/cpp/432afnzdk

Questão 1 - Fatorial

#include <iostream> 

int calculaFatorial(int n) {
  if (n == 0) {
      return 1;
  }
  return n * calculaFatorial(n-1);
}

int main() {
  std::cout << "Ola!" << std::endl;
  std::cout << "Digite o valor de n: ";

  int n;
  std::cin >> n;

  std::cout << "Fatorial de " << n << "!= " << calculaFatorial(n) << std::endl;

  return 0; 
}

Questão 2 - Fibonacci

#include <iostream> 

int fibonacci(int n) {
  if (n <= 1) return n; 

  int a = 0, b = 1, c;
  for (int i = 2; i <= n; ++i) {
    c = a + b; 
    a = b;   
    b = c;   
  }
  return b; 
}

int main() {
  int n = 0;

  std::cout << "Ola!" << std::endl;

  std::cout << "Digite o valor de n: ";
  std::cin >> n;

  std::cout << "O " << n << " numero da sequencia de Fibonacci e = " << fibonacci(n) << std::endl;

  return 0; 
}

Questão 3 - Impressão recursiva

#include <iostream> 

int num = 1;

int imprime(int n) {
  if (num > n) {
    return 0;
  }
  std::cout << "Numero: " << num << std::endl;
  num++;

  return imprime(n);
}

int main() {
  std::cout << "Ola!" << std::endl;
  std::cout << "Digite o valor de n: ";

  int n;
  std::cin >> n;

  imprime(n);

  return 0; 
}

Questão 4 - Soma

#include <iostream> 

int num = 1, sum = 0;

int soma(int n) {
  if (num > n) {
    return sum;
  }
  sum += num;
  num++;

  return soma(n);
}

int main() {
  std::cout << "Ola!" << std::endl;
  std::cout << "Digite o valor de n: ";

  int n;
  std::cin >> n;

  std::cout << "Soma dos numeros de 1 a n: " << soma(n) << std::endl;

  return 0; 
} 

Questão 5 - MCD

#include <iostream> 

int mdc(int a, int b) {
  while (b != 0) {
    int r = a % b; 
    a = b;        
    b = r;        
  }
  return a; 
}

int main() {
  int a = 0, b = 0;

  std::cout << "Ola!" << std::endl;

  std::cout << "Digite o valor de a: ";
  std::cin >> a;

  std::cout << "Digite o valor de b: ";
  std::cin >> b;

  std::cout << "MDC(" << a << "," << b << ") = " << mdc(a, b) << std::endl;

  return 0; 
}

Questão 6 - MMC

#include <iostream> 

int mdc(int a, int b) {
  while (b != 0) {
    int r = a % b; 
    a = b;        
    b = r;        
  }
  return a; 
}

int main() {
  int a = 0, b = 0;

  std::cout << "Ola!" << std::endl;

  std::cout << "Digite o valor de a: ";
  std::cin >> a;

  std::cout << "Digite o valor de b: ";
  std::cin >> b;

  int mmc = (a*b) / mdc(a,b);

  std::cout << "MMC(" << a << "," << b << ") = " << mmc << std::endl;

  return 0; 
}

Questão 7 - Adição modular

#include <iostream> 
#include <iomanip> 

void adicaoModular(int n) {
  std::cout << "Tabela de Adicao Modular Z_" << n << std::endl;
  std::cout << "---------------------------------" << std::endl;
  std::cout << "  + |";
  
  for (int i = 0; i < n; ++i) {
    std::cout << std::setw(4) << i;
  }
  std::cout << std::endl;
  std::cout << "---------------------------------" << std::endl;
  
  for (int i = 0; i < n; ++i) {
    std::cout << std::setw(3) << i << " |";
    
    for (int j = 0; j < n; ++j) {
      std::cout << std::setw(4) << (i + j) % n; 
    }
    std::cout << std::endl;
  }
}

int main() {
  std::cout << "Ola!" << std::endl;
  std::cout << "Digite o valor de n: ";

  int n = 0;
  std::cin >> n;

  adicaoModular(n);

  return 0; 
}

Questão 8 - Multiplicação modular

#include <iostream>
#include <iomanip>

void multiplicacaoModular(int n) {
  std::cout << "Tabela de Multiplicacao Modular Z_" << n << std::endl;
  std::cout << "---------------------------------" << std::endl;
  std::cout << "  * |";
  
  for (int i = 0; i < n; ++i) {
    std::cout << std::setw(4) << i;  
  }
  std::cout << std::endl;
  std::cout << "---------------------------------" << std::endl;
  
  for (int i = 0; i < n; ++i) {
    std::cout << std::setw(3) << i << " |";  
    
    for (int j = 0; j < n; ++j) {
      std::cout << std::setw(4) << (i * j) % n;  
    }
    std::cout << std::endl;
  }
}

int main() {
  std::cout << "Ola!" << std::endl;
  std::cout << "Digite o valor de n: ";

  int n = 0;
  std::cin >> n;

  multiplicacaoModular(n); 

  return 0;
}