exercicio basico de lógica de programação ![]()
quem fez tecnico de informatica ou de informatica p/ internet com certeza vai precisar fazer isso! ![]()
tem também um exercicio de numeros perfeitos, tbm é legal fazer kk ^^
info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: Draky Lucas

exercicio basico de lógica de programação ![]()
quem fez tecnico de informatica ou de informatica p/ internet com certeza vai precisar fazer isso! ![]()
tem também um exercicio de numeros perfeitos, tbm é legal fazer kk ^^
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

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
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'
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Excelente metodo, não havia pensado dessa forma, sem duvida é bem mais eficiente fazer assim. ![]()
info
Grupo: Conde
Registrado: 30/10/11
Posts: 625
Reputação: +101
Gênero: Masculino

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.
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 ![]()
Esse é o bom do conteúdo open source ;>
info
Grupo: Conde
Registrado: 21/12/11
Posts: 750
Reputação: +268
Gênero: Masculino
getPrimes([range])
aaeS3AyL [/pastebin]
Duvidas, bugs ou erros reportem.