![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
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: 894 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
// 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 |
|
Laravel - Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 2 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





