diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-01-10 16:57:57 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-10 16:57:57 +0000 |
| commit | b32c0ef48b233fc2b7dbe00b4ab67cdc5d5e23ce (patch) | |
| tree | 4db42d4d0d1e005779849f6a0d33ef824e21aad9 /challenge-251/roger-bell-west/ruby/ch-1.rb | |
| parent | 4e5a407712af3485999e3ad353019e7f6517c063 (diff) | |
| parent | b2433950e1225e4e0e1759e84fb2e626bbdec55a (diff) | |
| download | perlweeklychallenge-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-x | challenge-251/roger-bell-west/ruby/ch-1.rb | 45 |
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 |
