aboutsummaryrefslogtreecommitdiff
path: root/challenge-140/abigail/ruby
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-11-23 16:00:43 +0100
committerAbigail <abigail@abigail.be>2021-11-25 17:19:51 +0100
commitfb39699b31d65405e7d104ee2b1c1c4edcdf51a8 (patch)
treee33b7f66d49b274f4a8a322f2651d87d9d400b78 /challenge-140/abigail/ruby
parentfd4849655113ac9706753441de784780cc72c389 (diff)
downloadperlweeklychallenge-club-fb39699b31d65405e7d104ee2b1c1c4edcdf51a8.tar.gz
perlweeklychallenge-club-fb39699b31d65405e7d104ee2b1c1c4edcdf51a8.tar.bz2
perlweeklychallenge-club-fb39699b31d65405e7d104ee2b1c1c4edcdf51a8.zip
Solutions for week 140, part 1.
Diffstat (limited to 'challenge-140/abigail/ruby')
-rw-r--r--challenge-140/abigail/ruby/ch-1.rb15
-rw-r--r--challenge-140/abigail/ruby/ch-2.rb27
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-140/abigail/ruby/ch-1.rb b/challenge-140/abigail/ruby/ch-1.rb
new file mode 100644
index 0000000000..bc95be2323
--- /dev/null
+++ b/challenge-140/abigail/ruby/ch-1.rb
@@ -0,0 +1,15 @@
+#!/usr/bin/ruby
+
+#
+# See ../README.md
+#
+
+#
+# Run as: ruby ch-1.rb < input-file
+#
+
+ARGF . each_line do
+ | line |
+ a, b = line . strip() . split (" ")
+ puts (a . to_i(2) + b . to_i(2)) . to_s(2)
+end
diff --git a/challenge-140/abigail/ruby/ch-2.rb b/challenge-140/abigail/ruby/ch-2.rb
new file mode 100644
index 0000000000..fe2f27a992
--- /dev/null
+++ b/challenge-140/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 |
+ i, j, k = line . strip() . split . map {|x| x . to_i}
+ n = 0
+ while k > 0 do
+ n = n + 1
+ s = Math . sqrt(n) . floor()
+ for d in 1 .. s do
+ if n % d == 0 then
+ if d <= i && n / d <= j then k = k - 1 end
+ if d <= j && n / d <= i then k = k - 1 end
+ if n == d * d then k = k + 1 end
+ end
+ end
+ end
+ puts (n)
+end