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/mHoang/pfactor.scm | |
parent | a53c4128c29f98b5fdfd9b0e13a3bbe094d975ec (diff) | |
download | cp-d40c9b81db3caff8ecca79df92241bc0c28a468c.tar.gz |
Translate easy programs to Scheme
Diffstat (limited to 'others/mHoang/pfactor.scm')
-rw-r--r-- | others/mHoang/pfactor.scm | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/others/mHoang/pfactor.scm b/others/mHoang/pfactor.scm new file mode 100644 index 0000000..4e3bd17 --- /dev/null +++ b/others/mHoang/pfactor.scm @@ -0,0 +1,9 @@ +(define (div dividend divisor) + (if (= (remainder dividend divisor) 0) + (div (/ dividend divisor) divisor) + dividend)) +(display (let* ((n (read)) (s (exact-integer-sqrt n))) + (do ((i 2 (+ i 1))) + ((or (= (div n i) 1) (> i s)) (if (> i s) n i)) + (set! n (div n i))))) +(newline) |