aboutsummaryrefslogtreecommitdiff
path: root/2015/day-25/day-25.rkt
blob: 786538ca632da2de44c3a8fd7c5d2e91828f01f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#lang racket

(define max-r 2978)
(define max-c 3083)

(for/fold ([code 20151125]
           [r 1]
           [c 1])
          ([i (in-naturals)]
           #:break (and (= max-r r)
                        (= max-c c)))
  (define new-code
    (modulo (* code 252533) 33554393))
  (if (= r 1)
      (values new-code (add1 c) 1)
      (values new-code (sub1 r) (add1 c))))