Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun new-circ (value)
- (let ((head (cons value nil)))
- (setf (cdr head) head)
- head))
- (defun ninsert-after-and-move (list i)
- (let ((new-cons (cons i (cdr list))))
- (setf (cdr list) new-cons)
- new-cons))
- (defconstant +N-ITERATIONS-A+ 2017)
- (defconstant +N-ITERATIONS-B+ 50000000)
- (defconstant +N-STEPS+ 345)
- (defun solve (n)
- (let ((list (new-circ 0)))
- (loop for i from 1 to n do
- (loop for j from 1 to +N-STEPS+ do
- (setf list (cdr list)))
- (setf list (ninsert-after-and-move list i))
- (if (= (mod i 200000) 0) (format t "~a~%" i)))
- list))
- (defun cons-with-elem (list elem)
- (loop
- (if (= (car list) elem) (return list)
- (setf list (cdr list)))))
- (format t "~a~%" (cadr (solve +N-ITERATIONS-A+)))
- (format t "~a~%" (cadr (cons-with-elem (solve +N-ITERATIONS-B+) 0)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement