From 3a71b3d606f83f0ab27be2b1e1413d0094a7e3e9 Mon Sep 17 00:00:00 2001 From: Abigail Date: Thu, 20 May 2021 19:59:47 +0200 Subject: Ruby solutions for week 113 --- challenge-113/abigail/README.md | 2 ++ challenge-113/abigail/ruby/ch-1.rb | 35 +++++++++++++++++++++++++++++++++++ challenge-113/abigail/ruby/ch-2.rb | 27 +++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 challenge-113/abigail/ruby/ch-1.rb create mode 100644 challenge-113/abigail/ruby/ch-2.rb diff --git a/challenge-113/abigail/README.md b/challenge-113/abigail/README.md index 85ced087a5..2a7beef550 100644 --- a/challenge-113/abigail/README.md +++ b/challenge-113/abigail/README.md @@ -25,6 +25,7 @@ Output: 1 * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) +* [Ruby](ruby/ch-1.rb) ### Blog @@ -66,5 +67,6 @@ Output: 1 * [Node.js](node/ch-2.js) * [Perl](perl/ch-2.pl) * [Python](python/ch-2.py) +* [Ruby](ruby/ch-2.rb) ### Blog diff --git a/challenge-113/abigail/ruby/ch-1.rb b/challenge-113/abigail/ruby/ch-1.rb new file mode 100644 index 0000000000..4f44bf5130 --- /dev/null +++ b/challenge-113/abigail/ruby/ch-1.rb @@ -0,0 +1,35 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-1.rb < input-file +# + +tens = [0, 0, 1, 2, 1, 0, 2, 6, 3, 8] + +ARGF . each_line do + | line | + n, d = line . split + n = n . to_i + d = d . to_i + d10 = d == 0 ? 100 : d * 10 + if n >= d10 || n % (d == 0 ? 10 : d) == 0 + then puts (1) + next + end + done = false + for i in 1 .. tens [d] do + t = n - 10 * i - d + if t >= 0 && t % d == 0 + then puts (1) + done = true + break + end + end + if not done + then puts (0) + end +end diff --git a/challenge-113/abigail/ruby/ch-2.rb b/challenge-113/abigail/ruby/ch-2.rb new file mode 100644 index 0000000000..fe48ec54a7 --- /dev/null +++ b/challenge-113/abigail/ruby/ch-2.rb @@ -0,0 +1,27 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-2.rb < input-file +# + +ARGF . each_line do + | line | + numbers = line . split . map do + | _ | + _ . to_i + end + sum = 0 + numbers . map do + | n | + sum += n + end + + puts (numbers . map do + | n | + sum - n + end . join (" ")) +end -- cgit