Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,4 @@
|
|||
(defun kill (n k &aux (m 0))
|
||||
(loop for a from (1+ m) upto n do
|
||||
(setf m (mod (+ m k) a)))
|
||||
m)
|
||||
22
Task/Josephus-problem/Common-Lisp/josephus-problem-2.lisp
Normal file
22
Task/Josephus-problem/Common-Lisp/josephus-problem-2.lisp
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
(defun make-circular-list (n)
|
||||
(let* ((list (loop for i below n
|
||||
collect i))
|
||||
(last (last list)))
|
||||
(setf (cdr last) list)
|
||||
list))
|
||||
|
||||
(defun kill (n d)
|
||||
(let ((list (make-circular-list n)))
|
||||
(flet ((one-element-clist-p (list)
|
||||
(eq list (cdr list)))
|
||||
(move-forward ()
|
||||
(loop repeat (1- d)
|
||||
until (eq list (cdr list))
|
||||
do (setf list (cdr list))))
|
||||
(kill-item ()
|
||||
(setf (car list) (cadr list)
|
||||
(cdr list) (cddr list))))
|
||||
(loop until (one-element-clist-p list) do
|
||||
(move-forward)
|
||||
(kill-item))
|
||||
(first list))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue