aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorE7-87-83 <fungcheokyin@gmail.com>2021-06-27 15:32:24 +0800
committerE7-87-83 <fungcheokyin@gmail.com>2021-06-27 15:32:24 +0800
commitddb660dac6853e936a9e82213be219fefddee349 (patch)
tree8dc7769d2a8a6d9db980fd50f5657ae4be3bf1a6
parent66b4bb70eeceda884c896b35bb1c9f30a2cc2cf3 (diff)
downloadperlweeklychallenge-club-ddb660dac6853e936a9e82213be219fefddee349.tar.gz
perlweeklychallenge-club-ddb660dac6853e936a9e82213be219fefddee349.tar.bz2
perlweeklychallenge-club-ddb660dac6853e936a9e82213be219fefddee349.zip
1 awk script, 2 blogposts, ch-1.pl, ch-2.pl
-rw-r--r--challenge-118/cheok-yin-fung/awk/ch-1.awk20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-118/cheok-yin-fung/awk/ch-1.awk b/challenge-118/cheok-yin-fung/awk/ch-1.awk
new file mode 100644
index 0000000000..fe7e67c04b
--- /dev/null
+++ b/challenge-118/cheok-yin-fung/awk/ch-1.awk
@@ -0,0 +1,20 @@
+# The Weekly Challenge 118
+# Task 1 Binary Palindrome
+# Usage: echo "N" | awk -f 'ch-1.awk'
+# or: awk -f 'ch-1.awk' < file_contains_an_integer_on_each_line
+
+{
+ n = $0;
+ i = 0;
+ while (n > 0) {
+ arr[i] = n % 2
+ n = int(n / 2)
+ i++
+ }
+ len = i-1
+ i = 0
+ while (arr[len-i] == arr[i] && i < len/2) {
+ i++
+ }
+ print arr[len-i]==arr[i] ? 1 : 0
+}