aboutsummaryrefslogtreecommitdiff
path: root/challenge-251/roger-bell-west/ruby/ch-1.rb
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-01-10 16:57:57 +0000
committerGitHub <noreply@github.com>2024-01-10 16:57:57 +0000
commitb32c0ef48b233fc2b7dbe00b4ab67cdc5d5e23ce (patch)
tree4db42d4d0d1e005779849f6a0d33ef824e21aad9 /challenge-251/roger-bell-west/ruby/ch-1.rb
parent4e5a407712af3485999e3ad353019e7f6517c063 (diff)
parentb2433950e1225e4e0e1759e84fb2e626bbdec55a (diff)
downloadperlweeklychallenge-club-b32c0ef48b233fc2b7dbe00b4ab67cdc5d5e23ce.tar.gz
perlweeklychallenge-club-b32c0ef48b233fc2b7dbe00b4ab67cdc5d5e23ce.tar.bz2
perlweeklychallenge-club-b32c0ef48b233fc2b7dbe00b4ab67cdc5d5e23ce.zip
Merge pull request #9382 from Firedrake/rogerbw-challenge-251
RogerBW solutions for challenge no. 251
Diffstat (limited to 'challenge-251/roger-bell-west/ruby/ch-1.rb')
-rwxr-xr-xchallenge-251/roger-bell-west/ruby/ch-1.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/challenge-251/roger-bell-west/ruby/ch-1.rb b/challenge-251/roger-bell-west/ruby/ch-1.rb
new file mode 100755
index 0000000000..2154ed2189
--- /dev/null
+++ b/challenge-251/roger-bell-west/ruby/ch-1.rb
@@ -0,0 +1,45 @@
+#! /usr/bin/ruby
+
+def concat(a0, b0)
+ if (b0 == 0) then
+ return 10 * a0
+ end
+ a = a0
+ b = b0
+ while (b > 0) do
+ a *= 10;
+ b = (b / 10).floor
+ end
+ return a + b0
+end
+
+def concatenationvalue(a)
+ t = 0
+ 0.upto(((a.length - 1) / 2).floor) do |i|
+ j = a.length - 1 - i
+ if (j == i) then
+ t += a[i]
+ else
+ t += concat(a[i], a[j])
+ end
+ end
+ return t
+end
+
+require 'test/unit'
+
+class TestConcatenationvalue < Test::Unit::TestCase
+
+ def test_ex1
+ assert_equal(1286, concatenationvalue([6, 12, 25, 1]))
+ end
+
+ def test_ex2
+ assert_equal(489, concatenationvalue([10, 7, 31, 5, 2, 2]))
+ end
+
+ def test_ex3
+ assert_equal(112, concatenationvalue([1, 2, 10]))
+ end
+
+end