diff options
| author | Roger Bell_West <roger@firedrake.org> | 2024-02-27 08:25:42 +0000 |
|---|---|---|
| committer | Roger Bell_West <roger@firedrake.org> | 2024-02-27 08:25:42 +0000 |
| commit | 38de97ad51e196b9cc76a803bc3600f45c8615b4 (patch) | |
| tree | 048dc86bd4c0cfa549db5617f3a76d59da300d71 | |
| parent | 4416b8cd33659c6d380e3ea2c5b3e21e4a861a99 (diff) | |
| download | perlweeklychallenge-club-38de97ad51e196b9cc76a803bc3600f45c8615b4.tar.gz perlweeklychallenge-club-38de97ad51e196b9cc76a803bc3600f45c8615b4.tar.bz2 perlweeklychallenge-club-38de97ad51e196b9cc76a803bc3600f45c8615b4.zip | |
RogerBW solutions for challenge no. 258
21 files changed, 833 insertions, 0 deletions
diff --git a/challenge-258/roger-bell-west/javascript/ch-1.js b/challenge-258/roger-bell-west/javascript/ch-1.js new file mode 100755 index 0000000000..fb9668f84d --- /dev/null +++ b/challenge-258/roger-bell-west/javascript/ch-1.js @@ -0,0 +1,38 @@ +#! /usr/bin/node + +"use strict" + +function countevendigitsnumber(a) { + let t = 0; + for (let p of a) { + let even = false; + let pt = p; + while (pt >= 10) { + pt = Math.floor(pt / 10); + even = !even; + } + if (even) { + t += 1; + } + } + return t; +} + +if (countevendigitsnumber([10, 1, 111, 24, 1000]) == 3) { + process.stdout.write("Pass"); +} else { + process.stdout.write("FAIL"); +} +process.stdout.write(" "); +if (countevendigitsnumber([111, 1, 11111]) == 0) { + process.stdout.write("Pass"); +} else { + process.stdout.write("FAIL"); +} +process.stdout.write(" "); +if (countevendigitsnumber([2, 8, 1024, 256]) == 1) { + process.stdout.write("Pass"); +} else { + process.stdout.write("FAIL"); +} +process.stdout.write("\n"); diff --git a/challenge-258/roger-bell-west/javascript/ch-2.js b/challenge-258/roger-bell-west/javascript/ch-2.js new file mode 100755 index 0000000000..a065cb06f6 --- /dev/null +++ b/challenge-258/roger-bell-west/javascript/ch-2.js @@ -0,0 +1,44 @@ +#! /usr/bin/node + +"use strict" + +function popcount64(x0) { + const M1 = 0x5555555555555555n; + const M2 = 0x3333333333333333n; + const M4 = 0x0f0f0f0f0f0f0f0fn; + const H01 = 0x0101010101010101n; + let x = BigInt(x0); + x -= (x >> 1n) & M1; + x = (x & M2) + ((x >> 2n) & M2); + x = (x + (x >> 4n)) & M4; + return Number((x * H01) >> 56n); +} + +function sumofvalues(a, k) { + let s = 0; + a.forEach((v, i) => { + if (popcount64(i) == k) { + s += v; + } + }); + return s; +} + +if (sumofvalues([2, 5, 9, 11, 3], 1) == 17) { + process.stdout.write("Pass"); +} else { + process.stdout.write("FAIL"); +} +process.stdout.write(" "); +if (sumofvalues([2, 5, 9, 11, 3], 2) == 11) { + process.stdout.write("Pass"); +} else { + process.stdout.write("FAIL"); +} +process.stdout.write(" "); +if (sumofvalues([2, 5, 9, 11, 3], 0) == 2) { + process.stdout.write("Pass"); +} else { + process.stdout.write("FAIL"); +} +process.stdout.write("\n"); diff --git a/challenge-258/roger-bell-west/kotlin/ch-1.kt b/challenge-258/roger-bell-west/kotlin/ch-1.kt new file mode 100644 index 0000000000..7c43251e88 --- /dev/null +++ b/challenge-258/roger-bell-west/kotlin/ch-1.kt @@ -0,0 +1,38 @@ +fun countevendigitsnumber(a: List<Int>): Int { + var t = 0 + for (p in a) { + var even = false + var pt = p + while (pt >= 10) { + pt /= 10 + even = !even + } + if (even) { + t += 1 + } + } + return t +} + +fun main() { + + if (countevendigitsnumber(listOf(10, 1, 111, 24, 1000)) == 3) { + print("Pass") + } else { + print("Fail") + } + print(" ") + if (countevendigitsnumber(listOf(111, 1, 11111)) == 0) { + print("Pass") + } else { + print("Fail") + } + print(" ") + if (countevendigitsnumber(listOf(2, 8, 1024, 256)) == 1) { + print("Pass") + } else { + print("Fail") + } + println("") + +} diff --git a/challenge-258/roger-bell-west/kotlin/ch-2.kt b/challenge-258/roger-bell-west/kotlin/ch-2.kt new file mode 100644 index 0000000000..fb9aa8525c --- /dev/null +++ b/challenge-258/roger-bell-west/kotlin/ch-2.kt @@ -0,0 +1,44 @@ +fun popcount64(x0: Int): Int { + val M1 = 0x5555555555555555 + val M2 = 0x3333333333333333 + val M4 = 0x0f0f0f0f0f0f0f0f + val H01 = 0x0101010101010101 + var x = x0.toLong() + x -= (x shr 1) and M1 + x = (x and M2) + ((x shr 2) and M2) + x = (x + (x shr 4)) and M4 + return ((x * H01) shr 56).toInt() +} + +fun sumofvalues(a: List<Int>, k: Int ): Int { + var s = 0 + for ((i, v) in a.withIndex()) { + if (popcount64(i) == k) { + s += v + } + } + return s +} + +fun main() { + + if (sumofvalues(listOf(2, 5, 9, 11, 3), 1) == 17) { + print("Pass") + } else { + print("Fail") + } + print(" ") + if (sumofvalues(listOf(2, 5, 9, 11, 3), 2) == 11) { + print("Pass") + } else { + print("Fail") + } + print(" ") + if (sumofvalues(listOf(2, 5, 9, 11, 3), 0) == 2) { + print("Pass") + } else { + print("Fail") + } + println("") + +} diff --git a/challenge-258/roger-bell-west/lua/ch-1.lua b/challenge-258/roger-bell-west/lua/ch-1.lua new file mode 100755 index 0000000000..0108ca1cd6 --- /dev/null +++ b/challenge-258/roger-bell-west/lua/ch-1.lua @@ -0,0 +1,39 @@ +#! /usr/bin/lua + +function countevendigitsnumber(a) + local t = 0 + for _, p in ipairs(a) do + local even = false + local pt = p + while pt >= 10 do + pt = math.floor(pt / 10) + even = not even + end + if even then + t = t + 1 + end + end + return t +end + +if countevendigitsnumber({10, 1, 111, 24, 1000}) == 3 then + io.write("Pass") +else + io.write("FAIL") +end +io.write(" ") + +if countevendigitsnumber({111, 1, 11111}) == 0 then + io.write("Pass") +else + io.write("FAIL") +end +io.write(" ") + +if countevendigitsnumber({2, 8, 1024, 256}) == 1 then + io.write("Pass") +else + io.write("FAIL") +end +print("") + diff --git a/challenge-258/roger-bell-west/lua/ch-2.lua b/challenge-258/roger-bell-west/lua/ch-2.lua new file mode 100755 index 0000000000..5ef929d61e --- /dev/null +++ b/challenge-258/roger-bell-west/lua/ch-2.lua @@ -0,0 +1,43 @@ +#! /usr/bin/lua + +function popcount(x0) -- adapted from https://gist.github.com/davidm/2065267 + local x = x0 + local c = 0 + while x ~= 0 do + x = x & (x - 1) + c = c + 1 + end + return c +end + +function sumofvalues(a, k) + local s = 0 + for i, v in ipairs(a) do + if popcount(i - 1) == k then + s = s + v + end + end + return s +end + +if sumofvalues({2, 5, 9, 11, 3}, 1) == 17 then + io.write("Pass") +else + io.write("FAIL") +end +io.write(" ") + +if sumofvalues({2, 5, 9, 11, 3}, 2) == 11 then + io.write("Pass") +else + io.write("FAIL") +end +io.write(" ") + +if sumofvalues({2, 5, 9, 11, 3}, 0) == 2 then + io.write("Pass") +else + io.write("FAIL") +end +print("") + diff --git a/challenge-258/roger-bell-west/perl/ch-1.pl b/challenge-258/roger-bell-west/perl/ch-1.pl new file mode 100755 index 0000000000..bb538ea72f --- /dev/null +++ b/challenge-258/roger-bell-west/perl/ch-1.pl @@ -0,0 +1,27 @@ +#! /usr/bin/perl + +use strict; +use warnings; +use experimental 'signatures'; + +use Test::More tests => 3; + +is(countevendigitsnumber([10, 1, 111, 24, 1000]), 3, 'example 1'); +is(countevendigitsnumber([111, 1, 11111]), 0, 'example 2'); +is(countevendigitsnumber([2, 8, 1024, 256]), 1, 'example 3'); + +sub countevendigitsnumber($a) { + my $t = 0; + foreach my $p (@{$a}) { + my $even = 0; + my $pt = $p; + while ($pt >= 10) { + $pt = int($pt / 10); + $even = !$even; + } + if ($even) { + $t += 1; + } + } + return $t; +} diff --git a/challenge-258/roger-bell-west/perl/ch-2.pl b/challenge-258/roger-bell-west/perl/ch-2.pl new file mode 100755 index 0000000000..02c9f0f763 --- /dev/null +++ b/challenge-258/roger-bell-west/perl/ch-2.pl @@ -0,0 +1,30 @@ +#! /usr/bin/perl + +use strict; +use warnings; +use experimental 'signatures'; + +use Test::More tests => 3; + +is(sumofvalues([2, 5, 9, 11, 3], 1), 17, 'example 1'); +is(sumofvalues([2, 5, 9, 11, 3], 2), 11, 'example 2'); +is(sumofvalues([2, 5, 9, 11, 3], 0), 2, 'example 3'); + +use List::Util qw(sum); + +sub popcount64($x0) { + no warnings 'portable'; + use constant M1 => 0x5555555555555555; + use constant M2 => 0x3333333333333333; + use constant M4 => 0x0f0f0f0f0f0f0f0f; + use constant H01 => 0x0101010101010101; + my $x = $x0; + $x -= ($x >> 1) & M1; + $x = ($x & M2) + (($x >> 2) & M2); + $x = ($x + ($x >> 4)) & M4; + return ($x * H01) >> 56; +} + +sub sumofvalues($a, $k) { + return sum(map {$a->[$_]} grep {popcount64($_) == $k} (0 .. $#{$a})); +} diff --git a/challenge-258/roger-bell-west/postscript/ch-1.ps b/challenge-258/roger-bell-west/postscript/ch-1.ps new file mode 100644 index 0000000000..b3659dce9e --- /dev/null +++ b/challenge-258/roger-bell-west/postscript/ch-1.ps @@ -0,0 +1,63 @@ +%!PS + +% begin included library code +% see https://codeberg.org/Firedrake/postscript-libraries/ +/test.start { + print (:) print + /test.pass 0 def + /test.count 0 def +} bind def + +/test.end { + ( ) print + test.count 0 gt { + (Passed ) print + test.pass (...) cvs print + (/) print + test.count (...) cvs print + ( \() print + test.pass 100 mul test.count idiv (...) cvs print + (%\)) print + (\r\n) print + } if +} bind def + +/test { + /test.count test.count 1 add def + { + /test.pass test.pass 1 add def + } { + ( ) print + test.count (....) cvs print + (-fail) print + } ifelse +} bind def + + +% end included library code + +/countevendigitsnumber { + 0 dict begin + 0 exch + { + /even false def + { + dup 10 lt { + pop + exit + } if + /even even not def + 10 idiv + } loop + even { + 1 add + } if + } forall + end +} bind def + +(countevendigitsnumber) test.start +[10 1 111 24 1000] countevendigitsnumber 3 eq test +[111 1 11111] countevendigitsnumber 0 eq test +[2 8 1024 256] countevendigitsnumber 1 eq test +test.end diff --git a/challenge-258/roger-bell-west/postscript/ch-2.ps b/challenge-258/roger-bell-west/postscript/ch-2.ps new file mode 100644 index 0000000000..cce155f31f --- /dev/null +++ b/challenge-258/roger-bell-west/postscript/ch-2.ps @@ -0,0 +1,105 @@ +%!PS + +% begin included library code +% see https://codeberg.org/Firedrake/postscript-libraries/ +/map { % array proc -> array + 2 dict begin + /p exch def + [ exch + { + p + } forall + ] + end +} bind def + +/test { + /test.count test.count 1 add def + { + /test.pass test.pass 1 add def + } { + ( ) print + test.count (....) cvs print + (-fail) print + } ifelse +} bind def + +/reduce { % array proc -> value + 2 dict begin + /p exch def + /a exch def + a 0 get + 1 1 a length 1 sub { + a exch get + p + } for + end +} bind def + +/test.end { + ( ) print + test.count 0 gt { + (Passed ) print + test.pass (...) cvs print + (/) print + test.count (...) cvs print + ( \() print + test.pass 100 mul test.count idiv (...) cvs print + (%\)) print + (\r\n) print + } if +} bind def + +/filter { % array proc(bool) -> array + 1 dict begin + /p exch def + [ exch + { + dup p not + { + pop + } if + } forall + ] + end +} bind def + +/test.start { + print (:) print + /test.pass 0 def + /test.count 0 def +} bind def + + +% end included library code + +/popcount64 { + 0 dict begin + /M1 16#5555555555555555 def + /M2 16#3333333333333333 def + /M4 16#0f0f0f0f0f0f0f0f def + /H01 16#0101010101010101 def + /x exch def + /x x x -1 bitshift M1 and sub def + /x x M2 and x -2 bitshift M2 and add def + /x x x -4 bitshift add M4 and def + x H01 mul -56 bitshift + end +} bind def + +/sumofvalues { + 0 dict begin + /k exch def + /a exch def + [ 0 1 a length 1 sub { } for ] + { popcount64 k eq } filter + { a exch get } map + { add } reduce + end +} bind def + +(sumofvalues) test.start +[2 5 9 11 3] 1 sumofvalues 17 eq test +[2 5 9 11 3] 2 sumofvalues 11 eq test +[2 5 9 11 3] 0 sumofvalues 2 eq test +test.end diff --git a/challenge-258/roger-bell-west/python/ch-1.py b/challenge-258/roger-bell-west/python/ch-1.py new file mode 100755 index 0000000000..376960a976 --- /dev/null +++ b/challenge-258/roger-bell-west/python/ch-1.py @@ -0,0 +1,28 @@ +#! /usr/bin/python3 + +def countevendigitsnumber(a): + t = 0 + for p in a: + even = False + pt = p + while pt >= 10: + pt //= 10 + even = not even + if even: + t += 1 + return t + +import unittest + +class TestCountevendigitsnumber(unittest.TestCase): + + def test_ex1(self): + self.assertEqual(countevendigitsnumber([10, 1, 111, 24, 1000]), 3, 'example 1') + + def test_ex2(self): + self.assertEqual(countevendigitsnumber([111, 1, 11111]), 0, 'example 2') + + def test_ex3(self): + self.assertEqual(countevendigitsnumber([2, 8, 1024, 256]), 1, 'example 3') + +unittest.main() diff --git a/challenge-258/roger-bell-west/python/ch-2.py b/challenge-258/roger-bell-west/python/ch-2.py new file mode 100755 index 0000000000..4fdf1cdd21 --- /dev/null +++ b/challenge-258/roger-bell-west/python/ch-2.py @@ -0,0 +1,19 @@ +#! /usr/bin/python3 + +def sumofvalues(a, k): + return sum(a[i] for i in range(len(a)) if i.bit_count() == k) + +import unittest + +class TestSumofvalues(unittest.TestCase): + + def test_ex1(self): + self.assertEqual(sumofvalues([2, 5, 9, 11, 3], 1), 17, 'example 1') + + def test_ex2(self): + self.assertEqual(sumofvalues([2, 5, 9, 11, 3], 2), 11, 'example 2') + + def test_ex3(self): + self.assertEqual(sumofvalues([2, 5, 9, 11, 3], 0), 2, 'example 3') + +unittest.main() diff --git a/challenge-258/roger-bell-west/raku/ch-1.p6 b/challenge-258/roger-bell-west/raku/ch-1.p6 new file mode 100755 index 0000000000..e52788fe0f --- /dev/null +++ b/challenge-258/roger-bell-west/raku/ch-1.p6 @@ -0,0 +1,25 @@ +#! /usr/bin/raku + +use Test; + +plan 3; + +is(countevendigitsnumber([10, 1, 111, 24, 1000]), 3, 'example 1'); +is(countevendigitsnumber([111, 1, 11111]), 0, 'example 2'); +is(countevendigitsnumber([2, 8, 1024, 256]), 1, 'example 3'); + +sub countevendigitsnumber(@a) { + my $t = 0; + for @a -> $p { + my $even = False; + my Int $pt = $p; + while ($pt >= 10) { + $pt div= 10; + $even = !$even; + } + if ($even) { + $t += 1; + } + } + return $t; +} diff --git a/challenge-258/roger-bell-west/raku/ch-2.p6 b/challenge-258/roger-bell-west/raku/ch-2.p6 new file mode 100755 index 0000000000..9599728c11 --- /dev/null +++ b/challenge-258/roger-bell-west/raku/ch-2.p6 @@ -0,0 +1,25 @@ +#! /usr/bin/raku + +use Test; + +plan 3; + +is(sumofvalues([2, 5, 9, 11, 3], 1), 17, 'example 1'); +is(sumofvalues([2, 5, 9, 11, 3], 2), 11, 'example 2'); +is(sumofvalues([2, 5, 9, 11, 3], 0), 2, 'example 3'); + +sub popcount64($x0) { + constant $M1 = 0x5555555555555555; + constant $M2 = 0x3333333333333333; + constant $M4 = 0x0f0f0f0f0f0f0f0f; + constant $H01 = 0x0101010101010101; + my $x = $x0; + $x -= ($x +> 1) +& $M1; + $x = ($x +& $M2) + (($x +> 2) +& $M2); + $x = ($x + ($x +> 4)) +& $M4; + return ($x * $H01) +> 56; +} + +sub sumofvalues(@a, $k) { + return (0 .. @a.end).grep({popcount64($_) == $k}).map({@a[$_]}).sum; +} diff --git a/challenge-258/roger-bell-west/ruby/ch-1.rb b/challenge-258/roger-bell-west/ruby/ch-1.rb new file mode 100755 index 0000000000..96053ac590 --- /dev/null +++ b/challenge-258/roger-bell-west/ruby/ch-1.rb @@ -0,0 +1,35 @@ +#! /usr/bin/ruby + +def countevendigitsnumber(a) + t = 0 + a.each do |p| + even = false + pt = p + while pt >= 10 + pt = pt.div(10) + even = !even + end + if even then + t += 1 + end + end + return t +end + +require 'test/unit' + +class TestCountevendigitsnumber < Test::Unit::TestCase + + def test_ex1 + assert_equal(3, countevendigitsnumber([10, 1, 111, 24, 1000])) + end + + def test_ex2 + assert_equal(0, countevendigitsnumber([111, 1, 11111])) + end + + def test_ex3 + assert_equal(1, countevendigitsnumber([2, 8, 1024, 256])) + end + +end diff --git a/challenge-258/roger-bell-west/ruby/ch-2.rb b/challenge-258/roger-bell-west/ruby/ch-2.rb new file mode 100755 index 0000000000..86a3fd4ac8 --- /dev/null +++ b/challenge-258/roger-bell-west/ruby/ch-2.rb @@ -0,0 +1,39 @@ +#! /usr/bin/ruby + +def popcount(x0) + x = x0 + c = 0 + while x > 0 do + x &= x - 1 + c += 1 + end + return c +end + +def sumofvalues(a, k) + s = 0 + a.each_with_index do |n, i| + if popcount(i) == k then + s += n + end + end + return s +end + +require 'test/unit' + +class TestSumofvalues < Test::Unit::TestCase + + def test_ex1 + assert_equal(17, sumofvalues([2, 5, 9, 11, 3], 1)) + end + + def test_ex2 + assert_equal(11, sumofvalues([2, 5, 9, 11, 3], 2)) + end + + def test_ex3 + assert_equal(2, sumofvalues([2, 5, 9, 11, 3], 0)) + end + +end diff --git a/challenge-258/roger-bell-west/rust/ch-1.rs b/challenge-258/roger-bell-west/rust/ch-1.rs new file mode 100755 index 0000000000..6128ab07aa --- /dev/null +++ b/challenge-258/roger-bell-west/rust/ch-1.rs @@ -0,0 +1,33 @@ +#! /bin/sh +//usr/bin/env rustc --test $0 -o ${0}x && ./${0}x --nocapture; rm -f ${0}x ; exit + +#[test] +fn test_ex1() { + assert_eq!(countevendigitsnumber(vec![10, 1, 111, 24, 1000]), 3); +} + +#[test] +fn test_ex2() { + assert_eq!(countevendigitsnumber(vec![111, 1, 11111]), 0); +} + +#[test] +fn test_ex3() { + assert_eq!(countevendigitsnumber(vec![2, 8, 1024, 256]), 1); +} + +fn countevendigitsnumber(a: Vec<u32>) -> u32 { + let mut t = 0; + for p in a { + let mut even = false; + let mut pt = p; + while pt >= 10 { + pt /= 10; + even = !even; + } + if even { + t += 1; + } + } + t +} diff --git a/challenge-258/roger-bell-west/rust/ch-2.rs b/challenge-258/roger-bell-west/rust/ch-2.rs new file mode 100755 index 0000000000..35e49874f1 --- /dev/null +++ b/challenge-258/roger-bell-west/rust/ch-2.rs @@ -0,0 +1,25 @@ +#! /bin/sh +//usr/bin/env rustc --test $0 -o ${0}x && ./${0}x --nocapture; rm -f ${0}x ; exit + +#[test] +fn test_ex1() { + assert_eq!(sumofvalues(vec![2, 5, 9, 11, 3], 1), 17); +} + +#[test] +fn test_ex2() { + assert_eq!(sumofvalues(vec![2, 5, 9, 11, 3], 2), 11); +} + +#[test] +fn test_ex3() { + assert_eq!(sumofvalues(vec![2, 5, 9, 11, 3], 0), 2); +} + +fn sumofvalues(a: Vec<u32>, k: u32) -> u32 { + a.iter() + .enumerate() + .filter(|(i, _n)| i.count_ones() == k) + .map(|(_i, n)| n) + .sum() +} diff --git a/challenge-258/roger-bell-west/scala/ch-1.scala b/challenge-258/roger-bell-west/scala/ch-1.scala new file mode 100644 index 0000000000..a1e4516abb --- /dev/null +++ b/challenge-258/roger-bell-west/scala/ch-1.scala @@ -0,0 +1,39 @@ + +object Countevendigitsnumber { + def countevendigitsnumber(a: List[Int]): Int = { + var t = 0 + for (p <- a) { + var even = false + var pt = p + while (pt >= 10) { + pt /= 10 + even = !even + } + if (even) { + t += 1 + } + } + t + } + def main(args: Array[String]) { + if (countevendigitsnumber(List(10, 1, 111, 24, 1000)) == 3) { + print("Pass") + } else { + print("Fail") + } + print(" ") + if (countevendigitsnumber(List(111, 1, 11111)) == 0) { + print("Pass") + } else { + print("Fail") + } + print(" ") + if (countevendigitsnumber(List(2, 8, 1024, 256)) == 1) { + print("Pass") + } else { + print("Fail") + } + println("") + + } +} diff --git a/challenge-258/roger-bell-west/scala/ch-2.scala b/challenge-258/roger-bell-west/scala/ch-2.scala new file mode 100644 index 0000000000..1410a1ead0 --- /dev/null +++ b/challenge-258/roger-bell-west/scala/ch-2.scala @@ -0,0 +1,44 @@ + +object Sumofvalues { + def popcount64(x0: Int): Int = { + val M1 = 0x5555555555555555L + val M2 = 0x3333333333333333L + val M4 = 0x0f0f0f0f0f0f0f0fL + val H01 = 0x0101010101010101L + var x = x0.toLong + x -= (x >> 1) & M1 + x = (x & M2) + ((x >> 2) & M2) + x = (x + (x >> 4)) & M4 + return ((x * H01) >> 56).toInt + } + def sumofvalues(a: List[Int], k: Int ): Int = { + var s = 0 + for ((v, i) <- a.zipWithIndex) { + if (popcount64(i) == k) { + s += v + } + } + s + } + def main(args: Array[String]) { + if (sumofvalues(List(2, 5, 9, 11, 3), 1) == 17) { + print("Pass") + } else { + print("Fail") + } + print(" ") + if (sumofvalues(List(2, 5, 9, 11, 3), 2) == 11) { + print("Pass") + } else { + print("Fail") + } + print(" ") + if (sumofvalues(List(2, 5, 9, 11, 3), 0) == 2) { + print("Pass") + } else { + print("Fail") + } + println("") + + } +} diff --git a/challenge-258/roger-bell-west/tests.yaml b/challenge-258/roger-bell-west/tests.yaml new file mode 100644 index 0000000000..94fa19769c --- /dev/null +++ b/challenge-258/roger-bell-west/tests.yaml @@ -0,0 +1,50 @@ +--- +ch-1: + - function: countevendigitsnumber + arguments: + - 10 + - 1 + - 111 + - 24 + - 1000 + result: 3 + - arguments: + - 111 + - 1 + - 11111 + result: 0 + - arguments: + - 2 + - 8 + - 1024 + - 256 + result: 1 +ch-2: + - function: sumofvalues + multiarg: true + arguments: + - - 2 + - 5 + - 9 + - 11 + - 3 + - 1 + result: 17 + - multiarg: true + arguments: + - - 2 + - 5 + - 9 + - 11 + - 3 + - 2 + result: 11 + - multiarg: true + arguments: + - - 2 + - 5 + - 9 + - 11 + - 3 + - 0 + result: 2 |
