Escolar Documentos
Profissional Documentos
Cultura Documentos
Para a resoluo desses exerccios busque encontrar solues cujo custo computacional (nmeros de
testes, multiplicaes, etc.) seja o menor possvel. A maioria tem solues muito mais rpidas que o
trivial.
1. Escreva uma funo que faa a multiplicao de dois nmeros inteiros usando somas e subtraes.
2. Escreva uma funo que faa a diviso de dois nmeros inteiros usando somas e subtraes.
3. Escreva uma funo que calcule a potncia de um nmero inteiro xy usando multiplicaes.
4. Escreva uma funo que receba um nmero inteiro e retorne o inverso desse nmero. Por exemplo,
se a funo receber 123456 deve retornar 654321.
5. Escreva uma funo que receba um nmero inteiro e retorne 1 se esse for primo e 0 caso contrrio.
6. Escreva uma funo que receba um nmero inteiro e retorne seu fatorial.
7. Escreva uma funo que receba uma string (cadeia de caracteres) e retorne 1 se essa for um palndromo e 0 caso contrrio. Um palndromo uma palavra ou frase que se l da mesma maneira nos
dois sentidos - normalmente, da esquerda para a direita ou ao contrrio, da direita para a esquerda.
Por exemplo, OVO; ARARA; SOCORRAM-ME, SUBI NO NIBUS EM MARROCOS.
8. Escreva uma funo que imprima todos os anagramas de uma palavra que contenha letras no
repetidas. Uma anagrama so todas as possveis permutaes das letras da palavra original que
forma ou no palavras reais. Por exemplo, a palavra cat, geraria os anagramas: cat, cta, atc, act,
tca, tac.
9. Escreva uma funo que receba dois argumentos, um vetor contendo valores inteiros, e um outro
argumento inteiro maior que o menor nmero contido nesse vetor. Essa funo deve imprimir quais
dos valores contidos no vetor devem ser somados para se obter o valor do segundo argumento. Por
exemplo, se a funo receber o vetor [11, 8, 7, 6, 5] e o segundo argumento 20, essa deveria imprimir
os nmeros 8, 7, 5 uma vez que 8 + 7 + 5 = 20. Se no for possvel obter o valor nal, no imprima
nada.
10. Escreva uma funo que dados dois nmeros inteiros x e y , com x < y , determine quantos nmeros
primos existem entre esses.
11. Escreva uma funo que dados dois nmeros inteiros x e y , com x < y , determine quantas vezes
um determinado algoritmo z aparece em todos os nmeros denidos no intervalo entre x e y .
12. Escreva uma funo que receba um vetor de nmeros inteiros e retorne o MMC desses.
13. Faa um programa para receber dois nmeros do usurio e calcular o seu MDC utilizando o mtodo
de Euclides. O programa deve continuar pedindo dois nmeros at que 0 e 0 sejam fornecidos.
14. Escreva uma funo que receba um nmero inteiro e imprima seus fatores primos.
15. Escreva uma funo que dado um ngulo em graus, retorne seu seno. Para isso use as sries de
MacLaurin. Quando um ngulo dado em radianos, a srie de MacLaurin para seno :
sin =
5
7
2n+1
3
+
+ . . . + (1)n
3!
5!
7!
(2n + 1)!
radianos =
1
graus
180
16. Escreva uma funo que dado um ngulo em graus, retorne seu coseno. Para isso use as sries de
MacLaurin. Quando um ngulo dado em radianos, a srie de MacLaurin para coseno :
cos = 1 x +
x4
x2
x2n
+
+ . . . + (1)n
2!
4!
(2n)!
radianos =
graus
180
17. Escreva uma funo que recebe um inteiro e imprima esse valor em algarismos romanos. Por
exemplo, se essa funo receber 13 deve imprimir XIII .
18. Escreva uma funo que receba um nmero inteiro positivo x e retorne a soma de todos os inteiros
positivos entre 1 e x.
19. Escreva uma funo que receba um nmero positivo e imprima sua representao binria.
20. Escreva uma funo que receba duas matrizes e seus respectivos tamanhos de linhas e colunas e
imprima, quando possvel, o resultado da multiplicao dessas.
21. Escreva uma funo que receba trs valores inteiros e retorne 0 se esses no forma um tringulo, 1
se o tringulo equiltero, 2 se issceles e 3 se escaleno.
22. Escreva uma funo que receba um nmero e retorne o menor inteiro positivo cujo quadrado
superior ao valor dado.
23. Escreva uma funo que receba dois nmeros x e y , com x < y , e imprima quais nmeros nesse
intervalo que divididos por 13 do um resto igual a 5.
24. Escreva uma funo que receba dois nmeros inteiros n e r e retorne o nmero de combinaes de
n objetos tomados r de cada vez. O nmero de combinaes dado pela frmula:
c=
n!
r! (n r)!
25. A famosa conjectura de Goldbach diz que todo inteiro par maior que 2 a soma de dois nmeros
primos (voc aceita isso?). Testes foram feitos sem contudo encontrar um contra-exemplo. Escreva
um programa mostrando que a armao verdadeira para todo nmero par entre 700 e 1100. O
programa deve imprimir cada nmero e seus correspondentes primos.
26. Escreva uma funo recursiva que retorne a representao binria de um nmero inteiro.
27. Seja N um nmero quadrado perfeito. Se somarmos os nmeros mpares consecutivos (1 + 3 + 5 +
7 + 9 + ...) at que esta soma seja igual a N , o nmero M de termos somados ser igual a raiz
quadrada de N . Exemplo: N = 1616 = 1 + 3 + 5 + 7M = 4 termos. Logo, a raiz quadrada de 16
4. Fazer um programa em C para ler um nmero inteiro e positivo N e responder se N quadrado
perfeito.
28. Escreva uma funo que calcule a srie de Fibonacci. Observao: Uma seqncia dita de Fibonacci quando os dois primeiros termos forem 0 e 1 e todos os termos consecutivos tenham valor
igual soma dos dois termos anteriores.
Exemplo: 011235813213455...
29. O elemento minimax de uma matriz o menor elemento da linha que contm o maior elemento da
matriz. Desenvolva um algoritmo para encontrar o elemento minimax.
30. Dados os vetores ordenados M e N desenvolva um algoritmo que devolva o k -simo menor elemento
de N + M .
31. Crie um funo que faa a ordenao de um vetor.
32. A converso de graus Farenheit para Celsius obtida por C = 5(F 32)/9. Fazer um algoritmo
que calcule e escreva uma tabela de graus Celsius em funo de graus Farenheit, variando um a um
de 50 a 150 graus Farenheit.
2