day 7 puzzle 1

This commit is contained in:
2024-12-07 12:05:05 +01:00
parent 6071366ed6
commit acdb212ddd
6 changed files with 53 additions and 0 deletions

42
src/day7/puzzle1.typ Normal file
View File

@ -0,0 +1,42 @@
#import "/src/utils.typ": *
#let solveable(values, target) = {
if values.len() == 1 {
return values.last() == target
}
let values = values
let v = values.pop()
if calc.rem(target, v) == 0 {
if solveable(values, target / v) {
return true
}
}
if v > target {
return false
}
return solveable(values, target - v)
}
#let solve(input) = {
let equations = input.split("\n")
let total = 0
for equation in equations {
let (target, values) = equation.split(": ")
target = int(target)
values = values.split(" ").map(int)
if solveable(values, target) {
total += target
}
}
return total
}
#show-puzzle(
7, 1,
solve,
example: 3749
)

0
src/day7/puzzle2.typ Normal file
View File

Binary file not shown.