diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-08-30 18:19:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-30 18:19:26 +0100 |
| commit | f2f5a90a41b16370285090c137ce01fda49b6dad (patch) | |
| tree | dd8ee81f04710efdda402c79fed9eff381dd3dca | |
| parent | 0b3f96a1df9bd948d1a41d4708dfa64ced0d3fa3 (diff) | |
| parent | 4074b6ee7df5f48b74944128b08dd871eda850d5 (diff) | |
| download | perlweeklychallenge-club-f2f5a90a41b16370285090c137ce01fda49b6dad.tar.gz perlweeklychallenge-club-f2f5a90a41b16370285090c137ce01fda49b6dad.tar.bz2 perlweeklychallenge-club-f2f5a90a41b16370285090c137ce01fda49b6dad.zip | |
Merge pull request #12595 from HVukman/branch-for-challenge-336
Branch for challenge 336
| -rw-r--r-- | challenge-336/hvukman/lua/336_p1.lua | 51 | ||||
| -rw-r--r-- | challenge-336/hvukman/lua/336_p2.lua | 36 |
2 files changed, 87 insertions, 0 deletions
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 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 |
