puzzle_1.scm (743B)
1 (define (part-1 x a b) 2 (if (and (not (null? a)) (= 2020 (+ (car a) (car b)))) 3 (list (car a) (car b) (* (car a) (car b))) 4 (if (null? a) 5 (if (null? b) 6 0 7 (part-1 x x (cdr b))) 8 (part-1 x (cdr a) b)))) 9 10 (define (part-2 x a b c) 11 (if (and (not (null? a)) (not (null? b)) (= 2020 (+ (car a) (car b) (car c)))) 12 (list (car a) (car b) (car c) (* (car a) (car b) (car c))) 13 (if (null? a) 14 (if (null? b) 15 (if (null? c) 16 0 17 (part-2 x a x (cdr c))) 18 (part-2 x x (cdr b) c)) 19 (part-2 x (cdr a) b c)))) 20 21 (load "read_lines.scm") 22 (define i (read-lines "files/1.txt" (lambda (x) (string->number x)))) 23 24 (display (part-1 i i i)) (newline) 25 (display (part-2 i i i i)) (newline)