Buscar

Lista de Exercícios 040

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Lista de Exercícios 04 – Laços 
 
Para responder essa lista de exercícios é preciso assistir às videoaulas: 
 teóricas 11 e 12; e 
 de exercícios 
 
Adaptado de Andre Backes, UFU e acrescido de URI 
1. Faça um programa que determine o mostre os cinco primeiros múltiplos de 3, 
considerando números maiores que 0. 
2. Escreva um programa que escreva na tela, de 1 até 100, de 1 em 1, 3 vezes. A 
primeira vez deve usar a estrutura de repetição for, a segunda while, e a terceira 
do while. 
3. Faça um programa que peça ao usuário para digitar 10 valores e some-os. 
4. Faça um programa que leia 10 inteiros positivos, ignorando não positivos, e 
imprima sua média. 
5. Escreva um programa que leia 10 números e escreva o menor valor lido e o maior 
valor lido. 
6. Faça um programa que leia um número inteiro N e depois imprima os N primeiros 
números naturais ímpares. 
7. Faça um programa que leia um número inteiro positivo n e calcule a soma dos n 
primeiros números naturais. 
8. Escreva um algoritmo que leia certa quantidade de números e imprima o maior 
deles e quantas vezes o maior número foi lido. A quantidade de números a 
serem lidos deve ser fornecida pelo usuário. 
9. Escreva um algoritmo que leia um número inteiro e imprima na saída cada um 
dos algarismos que compõem o número 
10. Escreva um programa completo que permita a qualquer aluno introduzir, pelo 
teclado, uma sequência arbitrária de notas (válidas no intervalo de 10 a 20) e 
que mostre na tela, como resultado, a correspondente média aritmética. O 
número de notas com que o aluno pretenda efetuar o cálculo não será fornecido 
ao programa, o qual terminará quando for introduzido um valor que não seja 
válido como nota de aprovação. 
11. Faça um algoritmo que leia um número positivo e imprima seus divisores. 
12. Escreva um programa que leia um número inteiro e calcule a soma de todos os 
divisores desse número, com exceção dele próprio. Ex.: a soma dos divisores do 
número 66 é 
 1 + 2 + 3 + 6 + 11 + 22 + 33 = 78 
13. Faça um programa que leia um inteiro n, fornecido pelo usuário, e some todos 
os números naturais abaixo de n que são múltiplos de 3 ou 5, mas não de ambos 
ao mesmo tempo. 
14. Faça um algoritmo que encontre o primeiro múltiplo de 11, 13 ou 17 após um 
número dado. 
 
 
 
15. Em Matemática, o número harmônico designado por H(n) define-se como sendo 
a soma da série harmônica: 
H(n) = 1 + 1/2 + 1/3 + 1/4 + 
... + 1/n 
Faça um programa que leia um valor n inteiro e positivo e apresente o valor de 
H(n). 
16. Dados n e dois números inteiros positivos, i e j, diferentes de 0, imprimir em ordem 
crescente os n primeiros naturais que são múltiplos de i ou de j e ou de ambos. 
Exemplo: Para n = 6, i = 2 e j = 3 a saída deverá ser: 0,2,3,4,6,8. 
17. Faça um programa que calcule o menor número divisível por cada um dos 
números de 1 a 20? Ex.: 2520 é o menor número que pode ser dividido por cada 
um dos números de 1 a 10, sem sobrar resto. 
18. Escreve um programa que verifique quais números entre 1000 e 9999 (inclusive) 
possuem a propriedade seguinte: a soma dos dois dígitos de mais baixa ordem 
com os dois dígitos de mais alta ordem elevada ao quadrado é igual ao próprio 
número. Por exemplo, para o inteiro 3025, temos que: 
30 + 25 = 55 
552 = 3025 
19. *Faça um programa que calcule o terno pitagórico a, b, c, para o qual a + b + c 
= 1000. Um terno pitagórico é um conjunto de três números naturais, a, b, c, para 
a qual, 
a2 + b2 = c2 
Por exemplo, 
32 + 42 = 9 + 16 = 25 = 52 
20. Leia um número positivo do usuário, então, calcule e imprima a sequência 
Fibonacci até o primeiro número superior ao número lido. Exemplo: se o usuário 
informou o número 30, a sequência a ser impressa será 0 1 1 2 3 5 8 13 21 34. 
21. O funcionário chamado Carlos tem um colega chamado João que recebe um salário que 
equivale a um terço do seu salário. Carlos gosta de fazer aplicações na caderneta de 
poupança e vai aplicar seu salário integralmente nela, pois está rendendo 2% ao mês. 
João aplicará seu salário integralmente no fundo de renda fixa, que está rendendo 5% ao 
mês. Construa um programa que deverá calcular e mostrar a quantidade de meses 
necessários para que o valor pertencente a João iguale ou ultrapasse o valor pertencente 
a Carlos. Teste com outros valores para as taxas. 
22. Chico tem 1.50 metro e cresce 2 centímetros por ano, enquanto Zé tem 1.10 
metros e cresce 3 centímetros por ano. Escreva um programa que calcule e 
imprima quantos anos serão necessários para que Zé seja maior que Chico. 
23. * Escreva um programa que leia um número inteiro positivo n e em seguida 
imprima n linhas do chamado Triangulo de Floyd. Para n = 6, temos: 
1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 21 
 
24. Faça um programa que receba um número inteiro maior do que 1, e verifique se 
o número fornecido é primo ou não. 
25. Escreva um programa que leia um inteiro não negativo n e imprima a soma dos 
n primeiros números primos. 
26. Faça um programa que conte quantos números primos existem entre a e b, onde 
a e b são números informados pelo usuário. 
27. Faça um programa que some os números primos existentes entre a e b, onde a 
e b são números informados pelo usuário. 
28. *Faça um programa que calcule o maior número palíndromo feito a partir do 
produto de dois números de 3 dígitos. Ex.: O maior palíndromo feito a partir do 
produto de dois números de dois dígitos é 9009 = 91*99. 
 
29. * URI Online Judge | 1089 
Loop Musical 
Por Ricardo Anido Brasil 
Timelimit: 1 
Um loop musical é um trecho de música que foi composto para repetir continuamente 
(ou seja, o trecho inicia novamente toda vez que chega ao final), sem que se note 
descontinuidade. Loops são muito usados na sonorização de jogos, especialmente jogos 
casuais pela internet. 
Loops podem ser digitalizados por exemplo utilizando PCM. PCM, do inglês Pulse Code 
Modulation, é uma técnica para representação de sinais analógicos, muito utilizada em 
áudio digital. Nessa técnica, a magnitude do sinal é amostrada a intervalos regulares de 
tempo, e os valores amostrados são armazenados em sequência. Para reproduzir a 
forma de onda amostrada, o processo é invertido (demodulação). 
Fernandinha trabalha para uma empresa que desenvolve jogos e compôs um bonito 
loopmusical, codificando-o em PCM. Analisando a forma de onda do seu loop em um 
software de edição de áudio, Fernandinha ficou curiosa ao notar a quantidade de “picos” 
existentes. Um pico em uma forma de onda é um valor de uma amostra que representa 
um máximo ou mínimo local, ou seja, um ponto de inflexão da forma de onda. A figura 
abaixo ilustra (a) um exemplo de forma de onda e (b) o loop formado com essa forma 
de onda, contendo 48 picos. 
 
 
 
Fernandinha é uma amiga muito querida e pediu sua ajuda para determinar quantos 
picos existem no seu loop musical. 
Entrada 
A entrada contém vários casos de teste. A primeira linha de um caso de teste contém 
um inteiro N, representando o número de amostras no loop musical de Fernandinha 
(2 ≤ N ≤ 104). A segunda linha contém N inteiros Hi, separados por espaços, 
representando a sequência de magnitudes das amostras (-104 ≤ Hi ≤ 104 para 
1 ≤ i ≤ N, H1 ≠ HN e Hi ≠ Hi+1 para 1 ≤ i < N). Note que H1 segue HN quando o loop é 
reproduzido. 
O final da entrada é indicado por uma linha que contém apenas o número zero. 
Saída 
Para cada caso de teste da entrada seu programa deve imprimir uma única linha, 
contendo apenas um inteiro, o número de picos existentes no loop musical de 
Fernandinha. 
Exemplo de Entrada Exemplo de Saída 
2 
1 -3 
6 
40 0 -41 0 41 42 
4 
300 450 449 450 
0 
2 
2 
4 
Maratona de Programação da SBC 2008. 
 
30. * URI Online Judge | 1030 
A Lenda de Flavious 
Josephus 
Por Neilor Tonin, URI Brasil 
Timelimit: 1 
O problema de Josephus é assim conhecido por 
causa da lenda de Flavius Josephus, um 
historiador judeu que viveu no século 1.Segundo o relato de Josephus do cerco de 
Yodfat, ele e seus companheiros (40 soldados) 
foram presos em uma caverna, cuja saída foi 
bloqueada pelos romanos. Eles preferiram suicidar-se a serem capturados, e decidiram 
que iriam formar um círculo e começar a matar-se pulando de três em três. Josephus 
afirma que, por sorte ou talvez pela mão de Deus, ele permaneceu por último e preferiu 
entregar-se aos romanos a suicidar-se. 
Entrada 
Haverá NC (1 ≤ NC ≤ 30 ) casos de teste. Em cada caso de teste de entrada haverá um 
par de números inteiros positivos n (1≤ n ≤10000) e k (1≤ k ≤1000). 
O número n representa a quantidade de pessoas no círculo, numeradas de 1 até n. O 
número k representa o tamanho do salto de um homem até o próximo homem que será 
morto. 
Segue um exemplo com 5 homens e um salto = 2. 
 
 
Neste exemplo o elemento que restará após as eliminações é 3. 
Saída 
Para cada caso de teste de entrada será apresentada uma linha de saída no seguinte 
formato: Case n: m tendo sempre um espaço antes do n e do m. 
 
Exemplo de Entrada Exemplo de Saída 
3 
5 2 
6 3 
1234 233 
Case 1: 3 
Case 2: 1 
Case 3: 25

Outros materiais