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