Ir para conteúdo

getPrimes([range])


dalvorsn

Posts Recomendados

  • Autor: Dalvo
  • Descrição: Função que retorna todos os numeros primos de 2 até range, se range está ausente range vale 2. O codigo é feito em lua puro, não há incompatibilidade. Quanto a utilidade, isso vai da criatividade.

getPrimes([range])



aaeS3AyL [/pastebin]

 

 

Duvidas, bugs ou erros reportem.

Link para o comentário
Compartilhar em outros sites

exercicio basico de lógica de programação :p

 

quem fez tecnico de informatica ou de informatica p/ internet com certeza vai precisar fazer isso! :p

 

tem também um exercicio de numeros perfeitos, tbm é legal fazer kk ^^

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

Para saber se um numero é primo voce só precisa testar se ele é multiplo de 2 ate a raiz desse numero.

 

Sua funçao demora 7.565 segundos para pegar o range de 2 ate 100000

Ja esta aqui leva 0.198 segundos.

 

function getPrimes(range)
range = range or 2
local ret = {}
local function isPrime(n)
 for d = 2, math.sqrt(n) do
  if n % d == 0 then
   return false
  end
 end
 return true
end
for i = 2, range do
 if isPrime(i) then
  table.insert(ret, i)
 end
end
return ret
end

Link para o comentário
Compartilhar em outros sites

Para saber se um numero é primo voce só precisa testar se ele é multiplo de 2 ate a raiz desse numero.

 

Sua funçao demora 7.565 segundos para pegar o range de 2 ate 100000

Ja esta aqui leva 0.198 segundos.

 

function getPrimes(range)
range = range or 2
local ret = {}
local function isPrime(n)
 for d = 2, math.sqrt(n) do
  if n % d == 0 then
return false
  end
 end
 return true
end
for i = 2, range do
 if isPrime(i) then
  table.insert(ret, i)
 end
end
return ret
end

 

renasceu das cinzas? kk'

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 2 weeks later...

lol vcs tão checando se se numeros pares são primos e checando se numeros impares são divisiveis por pares...

 

checa de 2 em dois a partir do 3.

Link para o comentário
Compartilhar em outros sites

lol vcs tão checando se se numeros pares são primos e checando se numeros impares são divisiveis por pares...

 

checa de 2 em dois a partir do 3.

Outra boa observação!

Ta parecendo até programação colaborativa :D

Esse é o bom do conteúdo open source ;>

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...