Baixe o app para aproveitar ainda mais
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
Compartilhar