Created
May 23, 2020 00:29
-
-
Save humbertodosreis/d64689bf1f588afb56e3f6afb3faecb0 to your computer and use it in GitHub Desktop.
Dado dois parâmetros os, sendo o primeiro um vetor de inteiros e o segundo um inteiro, retorne todos os pares de inteiros cujo o resultado de sua multiplicação seja igual ao segundo parâmetro .
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--[[ | |
Dado dois parametros, sendo o primeiro um vetor de inteiros e o segundo um inteiro, | |
retorne todos os pares de inteiros cujo o resultado de sua | |
multiplicação seja igual ao segundo parametro. | |
Ex:In: [2, 4, 3, 1, 12, 6] e 12 Out: [(2, 6), (4, 3), (1, 12)] | |
--]] | |
local table = require "luatable" | |
local lista = table({2, 4, 3, 1, 12, 6}) | |
local esperado = 12 | |
local pares = table({}) | |
local encontrados = table({}) | |
for i = 1, #lista do | |
local atual = lista[i] | |
for j = 1, #lista do | |
repeat | |
if i == j or encontrados:find(j) then | |
break | |
end | |
local produto = lista[j] * atual | |
if produto == esperado then | |
pares:append({atual, lista[j]}) | |
encontrados:append(i) | |
end | |
until true | |
end | |
end | |
pares:eachi(function(v) print(v[1] .. ", " .. v[2]) end) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment