From 8f07b40ae63f584a00ed8a3d60df728aaa534f46 Mon Sep 17 00:00:00 2001 From: Abigail Date: Wed, 3 Mar 2021 01:03:09 +0100 Subject: Lua solution for week 102, part 2 --- challenge-102/abigail/lua/ch-2.lua | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 challenge-102/abigail/lua/ch-2.lua (limited to 'challenge-102/abigail/lua/ch-2.lua') diff --git a/challenge-102/abigail/lua/ch-2.lua b/challenge-102/abigail/lua/ch-2.lua new file mode 100644 index 0000000000..bbeb2a13ae --- /dev/null +++ b/challenge-102/abigail/lua/ch-2.lua @@ -0,0 +1,36 @@ +#!/opt/local/bin/lua + +-- +-- See ../README.md +-- + +-- +-- Run as: lua ch-2.lua < input-file +-- + +-- +-- Working from the end of the required string backwards, we alternate +-- placing a hash, and placing a number. We place them in an array out, +-- and at the end, print out said array in reverse order. +-- +for index in io . lines () do + index = tonumber (index) + out = {} + hash = false + i = 0 + while index > 0 do + hash = not hash + i = i + 1 + if hash then + out [i] = "#" + index = index - 1 + else + out [i] = index + 1 + index = index - tostring (index + 1) : len () + end + end + for j = i, 1, -1 do + io . write (out [j]) + end + io . write ("\n") +end -- cgit