Você está aqui: Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Como calcular e exibir os 50 primeiros números primos em Portugol - Desafio de Programação Resolvido em PortugolQuantidade de visualizações: 743 vezes |
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo. Escreva um programa (algoritmo) Portugol que usa um laço PARA, ENQUANTO ou FACA...ENQUANTO para calcular e exibir os 50 primeiros números primos. Sua saída deverá ser parecida com: 50 primeiros números primos: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 Veja a resolução comentada deste exercício usando Portugol Studio: // Como exibir os N primeiros números primos em Portugol programa { funcao inicio() { // variáveis usadas na resolução do problema inteiro quantidade, contador, numero logico primo quantidade = 50 // quantidade de números primos contador = 0 // quantidade de números primos encontrados numero = 0 // inteiro inicial // Lembre-se! O número 1 não é primo escreva(quantidade, " primeiros numeros primos:\n\n") // laço while será executado até encontrar os 50 primeiros números primos enquanto (contador < quantidade) { primo = verdadeiro // se o valor de i for 7, a variável j do laço contará // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o // módulo de 7 por qualquer um dos valores neste intervalo // for igual a 0, então o número não é primo para (inteiro j = 2; j <= inteiro(numero / 2); j++) { se (numero % j == 0) { primo = falso // não é primo interrompa } } se ((primo == verdadeiro) e (numero > 1)) { // deixa a formatação mais bonita se (numero < 10) { escreva(" ", numero) } senao se ((numero > 10) e (numero < 100)) { escreva(" ", numero) } senao { escreva(" ", numero) } contador = contador + 1 // encontramos um número primo se (contador % 10 == 0) { escreva("\n") } } numero = numero + 1 } } } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Portugol |
Veja mais Dicas e truques de Portugol |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |