Numeros Primos

1. Numeros Primos

Nelson
Nelson_Nunes

(usa Slackware)

Enviado em 22/10/2015 - 14:08h

Qual a melhor maneira para se determinar que um numero é primo?



  


2. Re: Numeros Primos

3. Re: Numeros Primos

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/10/2015 - 15:29h

Como foi dito acima, um número primo é um número inteiro que tem apenas dois divisores, ele mesmo e módulo de 1, ou seja, -1 ou 1. Há métodos mais sofisticados pra achar primos, mas um algorítmo simples e funcional poderia ser algo do tipo.
Em Python:

def eh_primo(n):
if(abs(n)==1 or n==0): return(False)
for i in range(2,abs(n)): ### range(2,abs(n)) gera o intervalo [2,3,4,5,6....,n-1]
if(n%i==0): return(False) # n % i gera o resto da divisão de n por i.
# Se resto for 0, então podemos dizer que n é divisivel por i
return(True)




4. Re: Numeros Primos

Nelson
Nelson_Nunes

(usa Slackware)

Enviado em 22/10/2015 - 20:37h

kalyban escreveu:


Cria um algorítimo que determine o numero primo, todo número primo tem dois divisores 1 e ele mesmo
exemplo 17 só e divido por 1 e 17.


Quando se trata de números pequenos até que acho viável mas quando se trata de números grandes este método anda de carroça.





5. Re: Numeros Primos

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 22/10/2015 - 23:35h

Nelson_Nunes escreveu:

kalyban escreveu:


Cria um algorítimo que determine o numero primo, todo número primo tem dois divisores 1 e ele mesmo
exemplo 17 só e divido por 1 e 17.


Quando se trata de números pequenos até que acho viável mas quando se trata de números grandes este método anda de carroça.




Por isso, que quando um novo número primo é encontrado ele é bastante divulgado. Visto o esforço computacional necessário, faz sentido...

Veja mais aqui: https://pt.wikipedia.org/wiki/N%C3%BAmero_primo

Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/


6. Re: Numeros Primos

Nelson
Nelson_Nunes

(usa Slackware)

Enviado em 24/10/2015 - 14:16h

gustavoip escreveu:

Como foi dito acima, um número primo é um número inteiro que tem apenas dois divisores, ele mesmo e módulo de 1, ou seja, -1 ou 1. Há métodos mais sofisticados pra achar primos, mas um algorítmo simples e funcional poderia ser algo do tipo.
Em Python:

def eh_primo(n):
if(abs(n)==1 or n==0): return(False)
for i in range(2,abs(n)): ### range(2,abs(n)) gera o intervalo [2,3,4,5,6....,n-1]
if(n%i==0): return(False) # n % i gera o resto da divisão de n por i.
# Se resto for 0, então podemos dizer que n é divisivel por i
return(True)




Olá gustavoip esta definição: "Um número inteiro é primo quando tem somente 2 divisores {1, p} deve ser evitada pois
Um número inteiro é primo quando tem somente 4 divisores {-1, 1, -p, p}

Agora se Tratando do conjunto dos números naturais esta definição esta correta.

Quando fiz a pergunta acima eu esperava dicas de como criar um algoritmo eficiente baseado em experiencias.





7. Re: Numeros Primos

Nelson
Nelson_Nunes

(usa Slackware)

Enviado em 24/10/2015 - 14:16h

gustavoip escreveu:

Como foi dito acima, um número primo é um número inteiro que tem apenas dois divisores, ele mesmo e módulo de 1, ou seja, -1 ou 1. Há métodos mais sofisticados pra achar primos, mas um algorítmo simples e funcional poderia ser algo do tipo.
Em Python:

def eh_primo(n):
if(abs(n)==1 or n==0): return(False)
for i in range(2,abs(n)): ### range(2,abs(n)) gera o intervalo [2,3,4,5,6....,n-1]
if(n%i==0): return(False) # n % i gera o resto da divisão de n por i.
# Se resto for 0, então podemos dizer que n é divisivel por i
return(True)




Olá gustavoip esta definição: "Um número inteiro é primo quando tem somente 2 Divisores {1, p} deve ser evitada pois
Um número inteiro é primo quando tem somente 4 divisores {-1, 1, -p, p}

Agora se Tratando do conjunto dos números naturais esta definição esta correta.

Quando fiz a pergunta acima eu esperava dicas de como criar um algoritmo eficiente baseado em experiencias.