about summary refs log tree commit diff
path: root/11/Q-2017/cau4.scm
diff options
context:
space:
mode:
Diffstat (limited to '11/Q-2017/cau4.scm')
-rw-r--r--11/Q-2017/cau4.scm11
1 files changed, 11 insertions, 0 deletions
diff --git a/11/Q-2017/cau4.scm b/11/Q-2017/cau4.scm
new file mode 100644
index 0000000..b9438f5
--- /dev/null
+++ b/11/Q-2017/cau4.scm
@@ -0,0 +1,11 @@
+(with-input-from-file "CAU4.INP" (lambda ()
+  (with-output-to-file "CAU4.OUT" (lambda ()
+    (define x (list->string (let read-string ((c (read-char)))
+      (if (or (eof-object? c) (char-ci=? c #\newline))
+          '()
+          (cons c (read-string (read-char)))))))
+    (let find-palin ((i 0))
+      (if ((lambda (s) (string-ci=? (string-reverse s) s))
+           (string-copy x i (string-length x)))
+          (format #t "~a\n~a~a\n" i x (string-reverse (string-copy x 0 i)))
+          (find-palin (+ i 1))))))))