Upload
iago-richard
View
361
Download
0
Embed Size (px)
Citation preview
7/26/2019 Lista de Exerccios sobre Recurso
1/6
UNIVERSIDADE FEDERAL DE UBERLNDIA
Lista de exerccios de programao em linguagem C
Exerccios: Recurso
1) Faa uma funo recursiva que calcule e retorne o fatorial de um nmero inteiro N.
2) Faa uma funo recursiva que calcule e retorne o N-simo termo da sequncia
Fibonacci. Alguns nmeros desta sequncia so: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89...
3) Faa uma funo recursiva que permita inverter um nmero inteiro N. Ex: 123 - 321
4) Faa uma funo recursiva que permita somar os elementos de um vetor deinteiros.
5) Crie uma funo recursiva que receba um nmero inteiro positivo N e calcule osomatrio dos nmeros de 1 a N.
6) Crie um programa em C, que contenha uma funo recursiva que receba doisinteiros positivos k e n e calcule kn. Utilize apenas multiplicaes. O programa principaldeve solicitar ao usurio os valores de k e n e imprimir o resultado da chamada dafuno.
7) Crie um programa em C que receba um vetor de nmeros reais com 100 elementos.Escreva uma funo recursiva que inverta ordem dos elementos presentes no vetor.
8) O mximo divisor comum dos inteiros x e y o maior inteiro que divisvel por x ey. Escreva uma funo recursiva mdc em C, que retorna o mximo divisor comum de xe y. O mdc de x e y definido como segue: se y igual a 0, ento mdc(x,y) x; casocontrrio, mdc(x,y) mdc (y, x%y), onde % o operador resto.
9) Crie uma funo recursiva que receba um nmero inteiro positivo N e calcule osomatrio dos nmeros de 1 a N.
10) Escreva uma funo recursiva que determine quantas vezes um dgito K ocorreem um nmero natural N. Por exemplo, o dgito 2 ocorre 3 vezes em 762021192.
11) A multiplicao de dois nmeros inteiros pode ser feita atravs de somas
sucessivas. Proponha um algoritmo recursivo Multip_Rec(n1,n2) que calcule a
multiplicao de dois inteiros.
12) Faa uma funo recursiva que receba um nmero inteiro positivo N e imprimatodos os nmeros naturais de 0 at N em ordem crescente.
13) Faa uma funo recursiva que receba um nmero inteiro positivo N e imprima
todos os nmeros naturais de 0 at N em ordem decrescente.
7/26/2019 Lista de Exerccios sobre Recurso
2/6
14) Faa uma funo recursiva que receba um nmero inteiro positivo par N e imprimatodos os nmeros pares de 0 at N em ordem crescente.
15) Faa uma funo recursiva que receba um nmero inteiro positivo par N e imprimatodos os nmeros pares de 0 at N em ordem decrescente.
16) A funo fatorial duplo definida como o produto de todos os nmeros naturaismpares de 1 at algum nmero natural mpar N.Assim, o fatorial duplo de 5 5!! = 1 * 3 * 5 = 15Faa uma funo recursiva que receba um nmero inteiro positivo impar N e retorne ofatorial duplo desse nmero.
17) O fatorial qudruplo de um nmero N dado por
Faa uma funo recursiva que receba um nmero inteiro positivo N e retorne ofatorial qudruplo desse nmero.
18) O superfatorial de um nmero N definida pelo produto dos N primeiros fatoriaisde N. Assim, o superfatorial de 4 sf(4) = 1! * 2! * 3! * 4! = 288Faa uma funo recursiva que receba um nmero inteiro positivo N e retorne osuperfatorial desse nmero.
19) O hiperfatorial de um nmero N, escrito H(n), definido por
Faa uma funo recursiva que receba um nmero inteiro positivo N e retorne ohiperfatorial desse nmero.
20) Um fatorial exponencial um inteiro positivo N elevado potncia de N-1, que porsua vez elevado potncia de N-2 e assim em diante. Ou seja,
Faa uma funo recursiva que receba um nmero inteiro positivo N e retorne ofatorial exponencial desse nmero.
21) Os nmeros tribonacci so definidos pela seguinte recurso
Faa uma funo recursiva que receba um nmero N e retorne o N-simo termo dasequncia de tribonacci.
7/26/2019 Lista de Exerccios sobre Recurso
3/6
7/26/2019 Lista de Exerccios sobre Recurso
4/6
27)Desenvolva algoritmos recursivos para cada um dos seguintes problemas:
a)Impresso de um nmero natural em base binaria
b)Multiplicao de dois nmeros naturais atravs de somas consecutivas.
c)Inverso de uma string.
d)Gerador da sequencia:
(a) F(1)=1(b) F(2)=2
(c) F(n)= 2*F(n-1)+3*F(n-2)
7/26/2019 Lista de Exerccios sobre Recurso
5/6
Faa uma funo recursiva em C para computar a funo de Ackerman.
31) Escreva, usando a linguagem C, uma funo recursiva, SomaSerie(i,j,k: inteiro):inteiro, que devolva a soma da srie de valores do intervalo [i,j], com incremento k.
32) Faa uma funo recursiva, em linguagem C, que calcule o valor da srie Sdescrita a seguir para um valor n>0 a ser fornecido como parmetro para a mesma.
Escreva uma funo recursiva em C que exibe todos os elementos em um array deinteiros, separados por espao.
33) Crie um programa em C, que contenha uma funo recursiva para encontrar omenor elemento em um vetor. A leitura dos elementos do vetor e impresso do menorelemento devem ser feitas no programa principal.
34) Escreva, usando a linguagem C, uma funo recursiva, ImprimeSerie(i,j,k: inteiro),que imprime na tela a srie de valores do intervalo [i,j], com incremento k.
35) Dado um nmero n na base decimal, escreva uma funo recursiva em C queconverte este nmero para binrio.
36) Um palndromo uma string que lida da mesma maneira da esquerda para adireita e da direita para a esquerda. Alguns exemplos de palndromo so radar e abola da loba (se os espaos forem ignorados) Escreva uma funo recursiva queretorna 1 se a string armazenada no array for um palndromo e 0, caso contrrio. Omtodo deve ignorar espaos e pontuao na string.
37) Uma matriz maze de 0s e 1s, de 10X10, representa um labirinto no qual umviajanteprecisa encontrar um caminho de maze[0][0] a maze[9][9]. O viajante pode passar de
um quadrado para qualquer outro adjacente na mesma fileira ou coluna, mas no podesaltar quadrados nem se movimentar na diagonal. Alm disso, o viajante no podeentrar num quadrado contendo um 1. maze[0][0] e maze[9][9] contm 0s. Escreva umarotina recursiva que aceite este labirinto maze e imprima uma mensagem informando ainexistncia de um caminho atravs do labirinto, ou que imprima uma lista de posiesrepresentando um caminho de [0][0] a [9][9].
38) Escreva uma funo recursiva que calcule a soma de dois nmeros naturais,atravs de incrementos sucessivos (Ex.: 3 + 2 = ++(++3)).
39) Escreva uma funo recursiva que calcule a multiplicao de dois nmerosnaturais, atravs de incrementos sucessivos
40) Escreva uma funo recursiva que calcule a sequncia dada por:
7/26/2019 Lista de Exerccios sobre Recurso
6/6
F(1) = 1F(2) = 2F(n) = 2 * F(n-1) + 3 * F(n-2).
41) Escreva uma funo recursiva que dado um nmero n, gere todas as possveiscombinaes com as n primeiras letrasdo alfabeto. Ex.: n = 3. Resposta: ABC, ACB, BAC, BCA, CAB, CBA
42) Escreva uma funo recursiva que gere todas as possveis combinaes para umjogo da MegaSena com 6 dezenas
43) Uma sequncia de Fibonacci generalizada, de f0 a f1 definida como fibg(f0, f1,0), fibg(f0, f1, 1), fibg(f0, f1, 2), ..., onde:fibg(f0, f1, 0) = f0fibg(f0, f1, 1) = f1fibg(f0, f1, n) = fibg(f0, f1, n-1) + fibg(f0, f1, n-2), se n > 1.Escreva uma funo recursiva em C para calcular fibg(f0, f1, n).
44) Escreva uma funo recursiva que calcule a soma dos primeiros n cubos:S(n) = 13 + 23+ ... + n3
45) Escreva uma funo recursiva que calcule a soma dos dgitos de um nmerointeiro. Por exemplo, se a entrada for 123, a sada dever ser 1+2+3 = 6.
46) Faa uma funo recursiva que permita calcular a mdia um vetor de tamanho N.