OneCompiler

Lista 1 md2 Pedro Túlio 231011785

1. o cálculo de n! utilizando recursividade (exemplo teste 5!)

(exemplo teste 5!)

#include <stdio.h>
int fatorial(int n){
if (n == 0)
return 1;
else return n*(fatorial(n-1));
}
int main(){
int n = 7;
printf("Fatorial de %d é %d\n", n, fatorial(n));
return 0;
}

2. a sequência de Fibonacci

(exemplo teste 11)

#include <stdio.h>

int fibonacci(int n) {
if (n == 0)
return 0;
if (n == 1)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}

int main() {
int n = 11;
printf("Fibonacci de %d é %d\n", n, fibonacci(n));
return 0;
}

3. a impressão recursiva dos números naturais de 1 a n

(exemplo teste 1 a 10)

#include <stdio.h>

void imprimir_nat(int n){
if(n > 0){
imprimir_nat(n-1);
printf("%d\n", n);
}
}
int main(){
imprimir_nat(10);
return 0;
}

4. um método recursivo que receba como entrada um número inteiro positivo n e retorne

1 + 2 + 3 + 4 + … + n

exemplo teste 10

#include <stdio.h>

int somador(int n){
if(n == 0){
return 0;
}
return n + somador(n-1);
}

int main(){
printf("Somatório de 1 a 10 é %d\n", somador(10));
return 0;
}

5. Algoritmo de Euclides para o cálculo do MDC

exemplo mdc(104,68)

#include <stdio.h>

int euclides(int a, int b) {
if (b == 0) {
return a;
}
return euclides(b, a % b);
}

int main() {
int resultado = euclides(104, 68);
printf("O MDC é: %d\n", resultado);
return 0;
}

6. Calcular o MMC(a,b) a partir do MDC(a,b)

exemplo com 10 e 4


#include <stdio.h>

int euclides(int a, int b) {
if (b == 0) {
return a;
}
return euclides(b, a % b);
}

int mmc(int a, int b){
return a * b / euclides(a, b);
}

int main() {
int resultado = mmc(10, 4);
printf("O MMC é: %d\n", resultado);
return 0;
}

7. Tabela Z_n para adição modular

exemplo usando 6

#include <stdio.h>

void soma_modular(int a){
printf("+ ");
for(int i = 0; i < a; i++){
printf("%d ", i);
}
printf("\n");
for(int i = 0; i < a; i++){
printf("%d ", i);
for(int j = 0; j < a; j++){
printf("%d ", (i+j)%a);
}
printf("\n");
}
}

int main(){
soma_modular(6);
return 0;
}

8. Tabela Z_n para multiplicação modular

exemplo usando 6

#include <stdio.h>

int mult_modular(int a){
printf("* ");
for(int i = 0; i < a; i++){
printf("%d ", i);
}
printf("\n");
for(int i = 0; i < a; i++){
printf("%d ", i);
for(int j = 0; j < a; j++){
printf("%d ", (i * j) % a);
}
printf("\n");
}
}

int main(){
mult_modular(6);
return 0;
}