aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
+}