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;
}