Initial commit
This commit is contained in:
commit
f242d2b0df
420 changed files with 62521 additions and 0 deletions
25
2017/17/day17.scm
Normal file
25
2017/17/day17.scm
Normal file
|
@ -0,0 +1,25 @@
|
|||
;; $ csc day17.scm -o day17 -O5
|
||||
;; $ ./day17 -:hm8g
|
||||
|
||||
(use srfi-1)
|
||||
(declare (fixnum))
|
||||
|
||||
(define (prepend! x list)
|
||||
(set-cdr! list (cons (car list) (cdr list)))
|
||||
(set-car! list x))
|
||||
|
||||
(define (spin steps n after)
|
||||
(let ((buffer (circular-list 0)))
|
||||
(do ((i 1 (+ i 1)))
|
||||
((> i n) (cadr (member after buffer)))
|
||||
(let ((new (drop buffer (+ steps 1))))
|
||||
(prepend! i new)
|
||||
(set! buffer new)))))
|
||||
|
||||
(write (spin 3 2017 2017))
|
||||
(newline)
|
||||
(write (spin 312 2017 2017))
|
||||
(newline)
|
||||
(write (spin 312 50000000 0))
|
||||
(newline)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue