O documento apresenta vários exemplos de problemas que podem ser resolvidos recursivamente, incluindo funções para: calcular a soma dos elementos de um vetor, somar os algarismos de um número, encontrar o maior número em um vetor, calcular a soma dos números em um intervalo, calcular o MDC de dois números, imprimir um número de trás para frente e contar quantas vezes um dígito ocorre em um número.
O documento apresenta vários exemplos de problemas que podem ser resolvidos recursivamente, incluindo funções para: calcular a soma dos elementos de um vetor, somar os algarismos de um número, encontrar o maior número em um vetor, calcular a soma dos números em um intervalo, calcular o MDC de dois números, imprimir um número de trás para frente e contar quantas vezes um dígito ocorre em um número.
O documento apresenta vários exemplos de problemas que podem ser resolvidos recursivamente, incluindo funções para: calcular a soma dos elementos de um vetor, somar os algarismos de um número, encontrar o maior número em um vetor, calcular a soma dos números em um intervalo, calcular o MDC de dois números, imprimir um número de trás para frente e contar quantas vezes um dígito ocorre em um número.
de números inteiros e o seu tamanho e retorne a soma dos números no vetor. Solução public static int somavetor(int v[], int n ) { if (n == 1) return v[0]; else return v[n-1] + somavetor(v, n-1); } Exercício ◼ Faça uma função recursiva que some os algarismos de um número. Ex: se o usuário passar 1985 o resultado será 1 + 9 + 8 + 5 = 23. Solução
de números inteiros e o seu tamanho e retorne o maior número no vetor. Solução int maximo (int v[], int n) { if (n == 1) return v[0]; else { int x; x = maximo(v, n-1); if ( x > v[n-1] ) return x; else return v[n-1]; } } Exemplo utilização função máximo Admita que seja passado para a função recursiva o vetor = 77 88 66 99 Exercício
◼ Faça uma função recursiva que receba dois números
inteiros x e y (onde x < y) e retorne a soma dos valores contidos entre x e y (intervalo fechado).
◼ Ex: se o x= 1 e y = 5, a soma será : 1 + 2 + 3 + 4 + 5 =
15 Solução // REGRA DE USO: x < y. public static int somaIntervalo(int x, int y) { if (y == x) { return x; } return somaIntervalo(x, y - 1) + y; } Exercício
◼ Faça uma função recursiva que receba dois números e
calcule o MDC (máximo divisor comum) entre eles.
◼ Ex: Os divisores comuns de 12 e 18 são 1,2,3 e 6.