From ae538455b0491a2d1498dad507444b53c7db680a Mon Sep 17 00:00:00 2001 From: HVukman Date: Sat, 30 Aug 2025 18:46:09 +0200 Subject: Create 336_p1.lua --- challenge-336/hvukman/lua/336_p1.lua | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 challenge-336/hvukman/lua/336_p1.lua diff --git a/challenge-336/hvukman/lua/336_p1.lua b/challenge-336/hvukman/lua/336_p1.lua new file mode 100644 index 0000000000..76bc6ac291 --- /dev/null +++ b/challenge-336/hvukman/lua/336_p1.lua @@ -0,0 +1,51 @@ + +function gcd(x, y) + if (y == 0) then + return x + else + return gcd(y, x%y) + end +end + +function Equal_group(x) + + local set ={} + + + for i,v in ipairs(x) do + set[v]=true + end + local res = {} + for i,v in pairs(set) do + -- print(i) + local res_=0 + for _,w in ipairs(x) do + if i==w then + res_ =res_+ 1 + end + end + table.insert(res,res_) + end + + + local dummy=0 + local valid = true + for i=2,#res do + -- gcd for each pair + dummy= gcd(res[i-1],res[i]) + --print (dummy) + -- if gcd<=1 then failure + if dummy <= 1 then + valid = false + end + if valid == false then break end + end + + print(valid) +end + +local inputs = { {1,1,2,2,2,2},{1,1,1,2,2,2,3,3}, {5,5,5,5,5,5,7,7,7,7,7,7},{1,2,3,4},{8,8,9,9,10,10,11,11} } + +for i=1,#inputs do + Equal_group(inputs[i]) +end -- cgit From 4074b6ee7df5f48b74944128b08dd871eda850d5 Mon Sep 17 00:00:00 2001 From: HVukman Date: Sat, 30 Aug 2025 18:46:27 +0200 Subject: Add files via upload --- challenge-336/hvukman/lua/336_p2.lua | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 challenge-336/hvukman/lua/336_p2.lua diff --git a/challenge-336/hvukman/lua/336_p2.lua b/challenge-336/hvukman/lua/336_p2.lua new file mode 100644 index 0000000000..7943f876d7 --- /dev/null +++ b/challenge-336/hvukman/lua/336_p2.lua @@ -0,0 +1,36 @@ +local scores = {"5","-2","4","C","D","9","+","+"} + +function Final_score(x) + local score = 0 + local prev = {} + local res = {} + + for i=1,#x do + if (tonumber(x[i])) then + table.insert(prev,x[i]) + table.insert(res,x[i]) + elseif scores[i]=="C" then + table.remove(prev) + table.remove(res) + elseif scores[i]=="D" then -- double previous score + local last = prev[#prev] + table.insert(res,last*2) + table.insert(prev,last*2) + elseif scores[i]=="+" then -- add last two scores + local last = prev[#prev] + local last2 = prev[#prev-1] + table.insert(res,last+last2) + table.insert(prev,last+last2) + end + end + + + for _,v in ipairs(res) do + print(v) + score= score + v + end + + print("score ", score) +end + +Final_score(scores) \ No newline at end of file -- cgit