aula 116

Como descobrir todos os números primos entre 1 e 500?

Vamos a mais uma aula de dúvida? E nesta aula veremos como descobrir todos os números primos entre 1 e 500.

Como nós queremos descobrir os números primos dentro de um intervalo de números, é interessante criar uma função que, dado um determinado número, diz se ele é primo ou não.

Para descobrir se um número n é primo ou não basta contar seus divisores entre 1 e n. Se ele possuir exatamente 2 divisores, então é um número primo (divisível por e por ele mesmo). Caso contrário, não é um número primo.

A função a seguir faz exatamente isso. Se o número de divisores de n for exatamente 2, então retorna 1, é primo. Caso contrário, retorna 0, não é primo.

	funcao inteiro ePrimo(inteiro n){
		inteiro i, divisores = 0

		para(i = 1; i <= n; i++){
			se(n % i == 0)
				divisores++
		}
		se(divisores == 2)
			retorne 1 // n é primo
		senao
			retorne 0 // n não é primo
	}

Com a função pronta, precisamos apenas fazer uma repetição de 1 a 500 em nosso procedimento inicio, chamando nossa função para cada valor e verificando seu retorno, assim:

		escreva("Primos entre 1 e 500.\n")
		para(i = 1; i <= 500; i++){
			se(ePrimo(i) == 1){
				escreva(i," ")
			}
		}

Código completo em Portugol para descobrir os números primos entre 1 e 500

programa{

/*	
	Desenvolva um algoritmo que apresente todos os números primos de 1 a 500.

	Escrito por Wagner Gaspar
	Abril de 2021
*/
	funcao inteiro ePrimo(inteiro n){
		inteiro i, divisores = 0

		para(i = 1; i <= n; i++){
			se(n % i == 0)
				divisores++
		}
		se(divisores == 2)
			retorne 1 // n é primo
		senao
			retorne 0 // n não é primo
	}
	
	funcao inicio(){
		inteiro i

		para(i = 1; i <= 500; i++){
			se(ePrimo(i) == 1){
				escreva(i," ")
			}
		}
	}
}

Deixe um comentário

dezesseis − 2 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.