Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
20
Task/Farey-sequence/Common-Lisp/farey-sequence.lisp
Normal file
20
Task/Farey-sequence/Common-Lisp/farey-sequence.lisp
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
(defun farey (n)
|
||||
(labels ((helper (begin end)
|
||||
(let ((med (/ (+ (numerator begin) (numerator end))
|
||||
(+ (denominator begin) (denominator end)))))
|
||||
(if (<= (denominator med) n)
|
||||
(append (helper begin med)
|
||||
(list med)
|
||||
(helper med end))))))
|
||||
(append (list 0) (helper 0 1) (list 1))))
|
||||
|
||||
|
||||
;; Force printing of integers in X/1 format
|
||||
(defun print-ratio (stream object &optional colonp at-sign-p)
|
||||
(format stream "~d/~d" (numerator object) (denominator object)))
|
||||
|
||||
(loop for i from 1 to 11 do
|
||||
(format t "~a: ~{~/print-ratio/ ~}~%" i (farey i)))
|
||||
|
||||
(loop for i from 100 to 1001 by 100 do
|
||||
(format t "Farey sequence of order ~a has ~a terms.~%" i (length (farey i))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue