diff options
author | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-02-19 22:28:52 +0700 |
---|---|---|
committer | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-02-19 22:28:52 +0700 |
commit | d40c9b81db3caff8ecca79df92241bc0c28a468c (patch) | |
tree | 41985e48e9da1fbfb65af8105bfa0304744320bd /others/volume1 | |
parent | a53c4128c29f98b5fdfd9b0e13a3bbe094d975ec (diff) | |
download | cp-d40c9b81db3caff8ecca79df92241bc0c28a468c.tar.gz |
Translate easy programs to Scheme
Diffstat (limited to 'others/volume1')
-rw-r--r-- | others/volume1/000.scm | 2 | ||||
-rw-r--r-- | others/volume1/001.scm | 2 | ||||
-rw-r--r-- | others/volume1/003.scm | 8 | ||||
-rw-r--r-- | others/volume1/006.scm | 8 |
4 files changed, 20 insertions, 0 deletions
diff --git a/others/volume1/000.scm b/others/volume1/000.scm new file mode 100644 index 0000000..2757887 --- /dev/null +++ b/others/volume1/000.scm @@ -0,0 +1,2 @@ +(display (let* ((a (read)) (b (read)) (c (read)) (d (read))) + (if (> c b) "NO\n" "YES\n"))) diff --git a/others/volume1/001.scm b/others/volume1/001.scm new file mode 100644 index 0000000..4e6573b --- /dev/null +++ b/others/volume1/001.scm @@ -0,0 +1,2 @@ +(display (let ((a (read)) (b (read))) (exact->inexact (/ (+ a b) 2)))) +(newline) diff --git a/others/volume1/003.scm b/others/volume1/003.scm new file mode 100644 index 0000000..21431e7 --- /dev/null +++ b/others/volume1/003.scm @@ -0,0 +1,8 @@ +(define n (read)) +(display (string-length (number->string n))) +(display " ") +(define (digitsum n) (if (> n 0) + (+ (modulo n 10) (digitsum (quotient n 10))) + 0)) +(display (digitsum n)) +(newline) diff --git a/others/volume1/006.scm b/others/volume1/006.scm new file mode 100644 index 0000000..f791de2 --- /dev/null +++ b/others/volume1/006.scm @@ -0,0 +1,8 @@ +(display ((lambda (str from to) + (let ((i (string-index str (string->char-set from)))) + (string-replace str to i (+ i (string-length from))))) + (number->string (let* ((a (read)) (b (read)) (c (read)) (d (read))) + (+ (/ a b) (/ c d)))) + "/" + " ")) +(newline) |