diff options
| author | Abigail <abigail@abigail.be> | 2021-10-25 19:19:23 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-10-25 19:19:23 +0200 |
| commit | 812cf2fafa8824c9f98f27c2fc7bc8f008614330 (patch) | |
| tree | dc6d2b914150677d778d582f6a07524802623b86 /challenge-136/abigail/ruby | |
| parent | f8a11d05ad884a0d97b17c5f21c40cdd6cf11659 (diff) | |
| download | perlweeklychallenge-club-812cf2fafa8824c9f98f27c2fc7bc8f008614330.tar.gz perlweeklychallenge-club-812cf2fafa8824c9f98f27c2fc7bc8f008614330.tar.bz2 perlweeklychallenge-club-812cf2fafa8824c9f98f27c2fc7bc8f008614330.zip | |
Ruby solutions for week 136
Diffstat (limited to 'challenge-136/abigail/ruby')
| -rw-r--r-- | challenge-136/abigail/ruby/ch-1.rb | 25 | ||||
| -rw-r--r-- | challenge-136/abigail/ruby/ch-2.rb | 21 |
2 files changed, 46 insertions, 0 deletions
diff --git a/challenge-136/abigail/ruby/ch-1.rb b/challenge-136/abigail/ruby/ch-1.rb new file mode 100644 index 0000000000..72ef8542f1 --- /dev/null +++ b/challenge-136/abigail/ruby/ch-1.rb @@ -0,0 +1,25 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-1.rb < input-file +# + +ARGF . each_line do + | line | + m, n = line . split . map {|x| x . to_i} + gcd = m . gcd (n) + valid = 0 + if gcd > 1 then + while gcd % 2 == 0 do + gcd /= 2 + end + if gcd == 1 then + valid = 1 + end + end + puts (valid) +end diff --git a/challenge-136/abigail/ruby/ch-2.rb b/challenge-136/abigail/ruby/ch-2.rb new file mode 100644 index 0000000000..d1bd264ff6 --- /dev/null +++ b/challenge-136/abigail/ruby/ch-2.rb @@ -0,0 +1,21 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-2.rb < input-file +# + +def count (target, this_fib, prev_fib) + return target < this_fib ? 0 + : target == this_fib ? 1 + : count(target - this_fib, this_fib + prev_fib, this_fib) + + count(target, this_fib + prev_fib, this_fib) +end + +ARGF . each_line do + | line | + puts (count(line . to_i, 1, 1)) +end |
