diff options
| author | Abigail <abigail@abigail.be> | 2021-07-02 22:18:56 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-07-02 22:18:56 +0200 |
| commit | 41a4c746045ace71c5d5ec026345809adbe4275f (patch) | |
| tree | efc42bb185d9a1ed0fbc4a622f6ce827df333b3d /challenge-119/abigail/ruby | |
| parent | 0fadd390f0c5b8b1421c9acb8467db4cf199d819 (diff) | |
| download | perlweeklychallenge-club-41a4c746045ace71c5d5ec026345809adbe4275f.tar.gz perlweeklychallenge-club-41a4c746045ace71c5d5ec026345809adbe4275f.tar.bz2 perlweeklychallenge-club-41a4c746045ace71c5d5ec026345809adbe4275f.zip | |
Ruby solution for week 119, part 2
Diffstat (limited to 'challenge-119/abigail/ruby')
| -rw-r--r-- | challenge-119/abigail/ruby/ch-2.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/challenge-119/abigail/ruby/ch-2.rb b/challenge-119/abigail/ruby/ch-2.rb new file mode 100644 index 0000000000..55ac672fca --- /dev/null +++ b/challenge-119/abigail/ruby/ch-2.rb @@ -0,0 +1,27 @@ +#!/usr/bin/ruby + +# +# See ../README.md +# + +# +# Run as: ruby ch-2.rb < input-file +# + +def next_num (prev_num) + ("0" + prev_num) . match (/^(.*)([012])(3*)$/) do + |match| + return (match [1] + (1 + match [2] . to_i) . to_s + + match [3] . gsub(/3/, "1")) . gsub(/11/, "12") . gsub(/^0/, "") + end +end + + +ARGF . each_line do + |num| + number = "0" + for i in 1 .. num . to_i do + number = next_num (number) + end + puts (number) +end |
