diff options
| author | Abigail <abigail@abigail.be> | 2021-11-25 19:51:25 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-11-25 19:51:25 +0100 |
| commit | 0c6f22ef70f5f2ce903f7195d8efb2af2ebbe8c4 (patch) | |
| tree | 216a1cd8bb735038c9b16fd822c35122a7b15eee | |
| parent | 010d30db79e7468841b5aa8e66f29292cf478ee9 (diff) | |
| download | perlweeklychallenge-club-0c6f22ef70f5f2ce903f7195d8efb2af2ebbe8c4.tar.gz perlweeklychallenge-club-0c6f22ef70f5f2ce903f7195d8efb2af2ebbe8c4.tar.bz2 perlweeklychallenge-club-0c6f22ef70f5f2ce903f7195d8efb2af2ebbe8c4.zip | |
R solution for week 135, part 1
| -rw-r--r-- | challenge-135/abigail/README.md | 2 | ||||
| -rw-r--r-- | challenge-135/abigail/r/ch-1.r | 30 |
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-135/abigail/README.md b/challenge-135/abigail/README.md index 6178e463fe..8d165353e3 100644 --- a/challenge-135/abigail/README.md +++ b/challenge-135/abigail/README.md @@ -4,6 +4,7 @@ * [AWK](awk/ch-1.awk) * [Bash](bash/ch-1.sh) +* [bc](bc/ch-1.bc) * [C](c/ch-1.c) * [Go](go/ch-1.go) * [Java](java/ch-1.java) @@ -11,6 +12,7 @@ * [Node.js](node/ch-1.js) * [Perl](perl/ch-1.pl) * [Python](python/ch-1.py) +* [R](r/ch-1.r) * [Ruby](ruby/ch-1.rb) * [Scheme](scheme/ch-1.scm) * [Tcl](tcl/ch-1.tcl) diff --git a/challenge-135/abigail/r/ch-1.r b/challenge-135/abigail/r/ch-1.r new file mode 100644 index 0000000000..e16d3210aa --- /dev/null +++ b/challenge-135/abigail/r/ch-1.r @@ -0,0 +1,30 @@ +# +# See ../README.md +# + +# +# Run as: Rscript ch-1.r < input-file +# + +stdin <- file ('stdin', 'r') +repeat { + n <- readLines (stdin, n = 1) + if (length (n) == 0) { + break + } + n <- sub ("^[-+]", "", n) + matches <- grep ("[^0-9]", n) + if (length (matches) != 0) { + cat ("not an integer\n") + next + } + if (nchar (n) %% 2 == 0) { + cat ("even number of digits\n") + next + } + if (nchar (n) < 3) { + cat ("too short\n") + next + } + cat (substr (n, 1 + (nchar (n) - 3) / 2, (nchar (n) + 3) / 2), "\n") +} |
