aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-119/abigail/README.md1
-rw-r--r--challenge-119/abigail/r/ch-1.r23
2 files changed, 24 insertions, 0 deletions
diff --git a/challenge-119/abigail/README.md b/challenge-119/abigail/README.md
index c2ba036a3f..45ed81d984 100644
--- a/challenge-119/abigail/README.md
+++ b/challenge-119/abigail/README.md
@@ -43,6 +43,7 @@ decimal `33`.
* [Pascal](pascal/ch-1.p)
* [Perl](perl/ch-1.pl)
* [Python](python/ch-1.py)
+* [R](r/ch-1.r)
* [Ruby](ruby/ch-1.rb)
### Blog
diff --git a/challenge-119/abigail/r/ch-1.r b/challenge-119/abigail/r/ch-1.r
new file mode 100644
index 0000000000..a44b9eb079
--- /dev/null
+++ b/challenge-119/abigail/r/ch-1.r
@@ -0,0 +1,23 @@
+#
+# 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 = as.integer (n)
+ # cat ((bitwAnd (n, bitwNot (0xFF))), "\n")
+ # cat ( bitwShiftL (bitwAnd (n, 0x0F), 4), "\n")
+ # cat ( bitwShiftR (bitwAnd (n, 0xF0), 4), "\n")
+
+ cat (bitwOr (bitwOr (bitwAnd (n, bitwNot (0xFF)),
+ bitwShiftL (bitwAnd (n, 0x0F), 4)),
+ bitwShiftR (bitwAnd (n, 0xF0), 4)), "\n")
+}