Resto Divisao


Realmente este algoritmo é muito bom e apresenta bastantes aplicações. No entanto, este algoritmo não indica se um número é primo ou não, ele serve para encontrar os numeros primos num certo intervalo de números.

Para detectar se um número específico é ou não primo, o melhor algoritmo a implementar o do ciclo até à raiz do número em causa.

Esta thread do P@P tem muita informação acerca de todos estes algoritmos.

Vá, cumps
 
Não vale a pena dividir por numeros pares para além do 2, ou seja no ciclo for incrementa-se de 2 em 2 a seguir ao número 3 até à raiz do número, por exemplo...


Cumprimentos
 
Pseudocodigo
Código:
/* Primeiro passo */
recebe valorLimite

/* Segundo passo */
raiz <- sqrt{valorLimite}

/* Terceiro passo */
para i <- 2 até valorLimite
    vetor[i] <- i
fim-para

/* Quarto passo */
para i <- 2 até raiz
    se vetor[i] = i
        imprima "O número " i " é primo."
        para j <- i+i até valorLimite, de i e i
            vetor[j] <- 0
        fim-para
    fim-se
fim-para

@link


mas dizem ainda que este metodo é mais eficiente:
http://en.wikipedia.org/wiki/Sieve_of_Atkin
 
Última edição:
Back
Topo