2020 Day 18
This commit is contained in:
parent
cd1c8f7500
commit
4b42802cae
73
2020/18/README.md
Normal file
73
2020/18/README.md
Normal file
@ -0,0 +1,73 @@
|
||||
# 2020 Day 18: Operation Order
|
||||
Copyright (c) Eric Wastl
|
||||
#### [Direct Link](https://adventofcode.com/2020/day/18)
|
||||
|
||||
## Part 1
|
||||
|
||||
As you look out the window and notice a heavily-forested continent slowly appear over the horizon, you are interrupted by the child sitting next to you. They're curious if you could help them with their math homework.
|
||||
|
||||
Unfortunately, it seems like this "math" [follows different rules](https://www.youtube.com/watch?v=3QtRK7Y2pPU&t=15) than you remember.
|
||||
|
||||
The homework (your puzzle input) consists of a series of expressions that consist of addition (`+`), multiplication (`*`), and parentheses (`(...)`). Just like normal math, parentheses indicate that the expression inside must be evaluated before it can be used by the surrounding expression. Addition still finds the sum of the numbers on both sides of the operator, and multiplication still finds the product.
|
||||
|
||||
However, the rules of **operator precedence** have changed. Rather than evaluating multiplication before addition, the operators have the **same precedence**, and are evaluated left-to-right regardless of the order in which they appear.
|
||||
|
||||
For example, the steps to evaluate the expression `1 + 2 * 3 + 4 * 5 + 6` are as follows:
|
||||
|
||||
```
|
||||
1 + 2 * 3 + 4 * 5 + 6
|
||||
3 * 3 + 4 * 5 + 6
|
||||
9 + 4 * 5 + 6
|
||||
13 * 5 + 6
|
||||
65 + 6
|
||||
71
|
||||
```
|
||||
|
||||
Parentheses can override this order; for example, here is what happens if parentheses are added to form `1 + (2 * 3) + (4 * (5 + 6))`:
|
||||
|
||||
```
|
||||
1 + (2 * 3) + (4 * (5 + 6))
|
||||
1 + 6 + (4 * (5 + 6))
|
||||
7 + (4 * (5 + 6))
|
||||
7 + (4 * 11 )
|
||||
7 + 44
|
||||
51
|
||||
```
|
||||
|
||||
Here are a few more examples:
|
||||
|
||||
- `2 * 3 + (4 * 5)` becomes **`26`**.
|
||||
- `5 + (8 * 3 + 9 + 3 * 4 * 3)` becomes **`437`**.
|
||||
- `5 * 9 * (7 * 3 * 3 + 9 * 3 + (8 + 6 * 4))` becomes **`12240`**.
|
||||
- `((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2` becomes **`13632`**.
|
||||
|
||||
Before you can help with the homework, you need to understand it yourself. **Evaluate the expression on each line of the homework; what is the sum of the resulting values?**
|
||||
|
||||
## Part 2
|
||||
|
||||
You manage to answer the child's questions and they finish part 1 of their homework, but get stuck when they reach the next section: **advanced** math.
|
||||
|
||||
Now, addition and multiplication have **different** precedence levels, but they're not the ones you're familiar with. Instead, addition is evaluated **before** multiplication.
|
||||
|
||||
For example, the steps to evaluate the expression `1 + 2 * 3 + 4 * 5 + 6` are now as follows:
|
||||
|
||||
```
|
||||
1 + 2 * 3 + 4 * 5 + 6
|
||||
3 * 3 + 4 * 5 + 6
|
||||
3 * 7 * 5 + 6
|
||||
3 * 7 * 11
|
||||
21 * 11
|
||||
231
|
||||
```
|
||||
|
||||
Here are the other examples from above:
|
||||
|
||||
- `1 + (2 * 3) + (4 * (5 + 6))` still becomes **`51`**.
|
||||
- `2 * 3 + (4 * 5)` becomes **`46`**.
|
||||
- `5 + (8 * 3 + 9 + 3 * 4 * 3)` becomes **`1445`**.
|
||||
- `5 * 9 * (7 * 3 * 3 + 9 * 3 + (8 + 6 * 4))` becomes **`669060`**.
|
||||
- `((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2` becomes **`23340`**.
|
||||
|
||||
**What do you get if you add up the results of evaluating the homework problems using these new rules?**
|
||||
|
||||
|
81
2020/18/code.py
Normal file
81
2020/18/code.py
Normal file
@ -0,0 +1,81 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
# Copyright (c) 2020 Akumatic
|
||||
#
|
||||
# https://adventofcode.com/2020/day/18
|
||||
|
||||
def read_file() -> list:
|
||||
with open(f"{__file__.rstrip('code.py')}input.txt", "r") as f:
|
||||
return [line.strip() for line in f.readlines()]
|
||||
|
||||
def evaluate(values: list, operators: list, precedence: bool) -> int:
|
||||
if not precedence: # "+" and "*" have same precedence levels
|
||||
result = int(values[0])
|
||||
for i in range(len(operators)):
|
||||
if operators[i] == "+":
|
||||
result += int(values[i+1])
|
||||
else: # operators[i] == "*"
|
||||
result *= int(values[i+1])
|
||||
|
||||
else: # "+" and "*" have different precedence levels; "+" evaluated before "*"
|
||||
while True:
|
||||
try:
|
||||
idx = operators.index("+")
|
||||
values = values[:idx] + [values[idx] + values[idx+1]] + values[idx+2:]
|
||||
operators = operators[:idx] + operators[idx+1:]
|
||||
except ValueError:
|
||||
break
|
||||
|
||||
result = 1
|
||||
for factor in values:
|
||||
result *= factor
|
||||
|
||||
return result
|
||||
|
||||
def parse(expression: str, precedence: bool = False) -> int:
|
||||
expression = expression.replace(" ", "")
|
||||
values = list()
|
||||
operators = list()
|
||||
i = 0
|
||||
while i < len(expression):
|
||||
if expression[i] == "+":
|
||||
operators.append("+")
|
||||
i += 1
|
||||
elif expression[i] == "*":
|
||||
operators.append("*")
|
||||
i += 1
|
||||
elif expression[i] == "(":
|
||||
# find correct closing bracket
|
||||
layer = 1
|
||||
j = i + 1
|
||||
while j < len(expression):
|
||||
if expression[j] == "(":
|
||||
layer += 1
|
||||
elif expression[j] == ")":
|
||||
if layer == 1:
|
||||
break
|
||||
layer -= 1
|
||||
j += 1
|
||||
# evaluate expression between brackets
|
||||
values.append(parse(expression[i+1:j], precedence))
|
||||
i += j - i + 1
|
||||
else: # numbers
|
||||
j = i
|
||||
value = 0
|
||||
while j < len(expression) and expression[j].isnumeric():
|
||||
value = value * 10 + int(expression[j])
|
||||
j += 1
|
||||
values.append(value)
|
||||
i += j - i
|
||||
|
||||
return evaluate(values, operators, precedence)
|
||||
|
||||
def part1(input: list) -> int:
|
||||
return sum([parse(line) for line in input])
|
||||
|
||||
def part2(input: list) -> int:
|
||||
return sum([parse(line, precedence=True) for line in input])
|
||||
|
||||
if __name__ == "__main__":
|
||||
input = read_file()
|
||||
print(f"Part 1: {part1(input)}")
|
||||
print(f"Part 2: {part2(input)}")
|
373
2020/18/input.txt
Normal file
373
2020/18/input.txt
Normal file
@ -0,0 +1,373 @@
|
||||
3 + 8
|
||||
7 * (7 * 6 + 7 * 5 + (9 + 2 * 2 * 4)) + 7 * 3 * 5
|
||||
3 * 4 + 2 + 7 + (4 * (9 + 9 + 2 + 3 * 8) + 9 + (6 + 4) + 7) + 3
|
||||
(7 * 9 + 2 + (5 + 4)) + 5 + 9
|
||||
4 + 5 * 5 + 8 + (3 * (7 * 7 + 5) * 7) * 5
|
||||
2 + 8 * (5 + 4 * (8 * 3 * 6 * 7 * 8 * 8) + 8 * (7 + 9 + 8 * 9 * 4) * (3 + 9 * 5 + 2 + 5 * 4)) * 4
|
||||
(8 * (3 + 3 * 9) * 3 * 9 * 9) + 3
|
||||
(8 * 2 * 4 + 5) * 2 + 2 + (3 + 4 * 2 * 3 + (4 + 7 + 8 * 7 * 5) * (9 + 9 * 8))
|
||||
(7 + 2 + (2 * 3)) * ((8 + 3 * 4 + 3 + 9 + 4) + 5) + 8 * 7 + 5 * 5
|
||||
7 + (3 + 6 + 8) + (5 * 9 + 7 + 2 + (2 * 9 + 8) + 2) * 9
|
||||
8 + 4 * 4 * 6 + 9 + ((5 + 8) + 7)
|
||||
(6 + (8 + 6 * 8 + 7 + 3 * 3) + 5 + 7 * 6 + 8) * 2 * 2 * 5 * 2 * 4
|
||||
(4 + (7 * 4 + 7 * 3 * 9 + 2) * 6 * 2 + 6) * (8 + 5 * 6 * (3 + 3 * 8 + 3) * 9) + 9
|
||||
7 + 9 * ((5 + 8 * 5 * 6) * 2 * 5) + 9 + 9 * (6 * 8 * 4 + 3)
|
||||
4 + (8 * 7 * 7 + 9) + (7 * 9 + 4) + 5 * 3 + 6
|
||||
7 + (3 + 6) * (5 * (5 * 7 + 5 * 6 + 3 + 3) + (3 * 4) * 8) * 2 * 4
|
||||
2 + (6 * 7 * 8 * 6 + (7 + 4 * 3 + 3 * 2 * 9) + 8) * (3 * 4 * (2 * 9 + 9) * 3) + (8 + (4 + 9 * 5 * 2 + 2) + 3 + (9 * 6) + 5 + 9) * 7 + ((2 * 3) + 3 * 8 * 8 * 6 + 5)
|
||||
9 * 4 + ((5 * 2 + 5 * 5 * 6) * 5 + 9 + 8 * 9)
|
||||
3 + ((6 * 3 * 9 * 4 + 2) + 6 * 8)
|
||||
(3 + 4 + 7 + 3) * (6 + 8 * 7 + 8 + (6 + 6 + 8 * 7)) * 5 * 3
|
||||
2 + 8 + (9 + 4)
|
||||
((5 * 9 * 5) + 7 * 5) + 3 * 8
|
||||
((7 + 9 + 5 + 4) * 9) + ((2 * 2 + 5 * 2 * 7) * (6 + 6 * 7 * 2 + 3) * 8 + 5 + 2 * 6) + 7
|
||||
2 + (9 * 9 + 5 + 6) * 2 * 9 + 3
|
||||
(5 * 4 * (7 * 9) + 7) * 8 * 5 * 4 + 6
|
||||
5 + (7 * 4 * 2) * (8 + 7 + 2 * 2 * 7 * 2)
|
||||
8 * ((5 + 7 + 2 + 9 * 8 * 2) + 9 * 6 * 9 + 7) + 8 * (3 + 5)
|
||||
3 * 3 * 2 + 9 + (8 * 2 * 5 * 2) * 6
|
||||
3 + 5 + 5 + 4
|
||||
2 * 7 + (7 + 2 + 4 * 7 + (9 * 5 + 7 * 6 + 9 + 9) + 2) * 9 + 6 * 6
|
||||
(2 * 6 + 8) * 3
|
||||
4 + (7 + (7 * 7) * 3 + (4 * 5 + 4 + 6 + 3) + 5 * 8)
|
||||
((8 * 9) + 3 * 8 * 7) + ((2 * 4 + 8 * 2 + 8 + 5) + 9 + 4) + 4 + 9 * (7 + 9 * (5 + 7) + 7 * 5 * 8) + 8
|
||||
((2 + 6 + 9) + 5 * 4) * 6
|
||||
9 * 5 * (2 * 6) + 6 + (9 * 2 * 8)
|
||||
3 * 3 * (3 * 9) + 7
|
||||
9 * ((2 + 7 * 7) * 3 + 8 * 3 + (6 * 2 + 5 + 3 * 3 * 9)) + 3 * 5
|
||||
(6 + 6 * 6 * 6 * 3 * 3) * 7 * 4 * 9 * 7
|
||||
2 * ((5 * 4 * 7 + 3) + 6 * (5 * 5 * 2 + 8 * 9 + 5) + 7) + (7 * 8 + 7 + 7 * 9 * 6) * 7 * 8
|
||||
(5 * 8 * 9 * (6 + 7) + (5 * 3 * 3 * 6 + 4 + 6)) + 2 * 7 + 9 * 8
|
||||
2 + (7 + 4 + 8) + (7 + 6 + (2 + 9) * 3)
|
||||
((3 * 2 + 8 + 2) + 7 * 8 + 6) + 9 * 7
|
||||
6 + (9 + 2) * 8 + ((2 + 6) * 7 * 2) * (9 * 6) * 3
|
||||
3 * ((5 + 5 * 3 + 8 + 5 * 2) + (5 * 8 * 4 * 5 + 4 + 8) + 6 + 8 + 5)
|
||||
((4 + 6 + 8 + 8) * 4 * 9 + (6 * 2 + 4 * 5 + 5) + (9 + 4 + 7 + 4 + 5) + 8) * 7 * 5
|
||||
8 + 9 + (5 * 3 * 9 + 5 * (4 * 7 * 6 + 5 + 9)) * 5 * (9 + 8 + 7 + 4) * 6
|
||||
4 * 6 + 9 * (9 + 5 + 7 * 4) + 7
|
||||
(5 * 6) + (2 + 9 + (6 * 2 * 5) + (2 + 8 + 2) + 9) + 7 * 6 + 5
|
||||
5 * 4 * 7 * (5 * 7 + 2) + 5 + 9
|
||||
3 * (7 + 2 + 8 + 7 + 5 + 3)
|
||||
2 * (2 * 5 + 7 + 6 * (8 * 8 * 5 * 4 * 8 + 8)) + 3
|
||||
(7 * 9 * 7) * 2 * 9 + (7 + 3 * 6 + 3 * 3) * 8 + 9
|
||||
5 + 8 * 9 * 7 + (4 + 9 * 5 + 2 * 3) + 4
|
||||
7 + 3 * (3 + 8 + 5 * 6) * (8 + 6 + 8) * (5 + 2 + 8 + 5 + (4 * 6 * 7 * 5 + 4))
|
||||
((6 * 6 * 7 * 2 + 7) + (3 * 7 + 9 + 7 + 5 + 5) + 2 * 8 * 3 + (3 * 9 + 7 + 7 * 7)) * ((6 + 8) * 3 + 2 * 4) + 3 + (6 * 4 + 7 + 2 * 9 * 2)
|
||||
(9 * 7 * 6 + 2) + 9 * 6 + 4 + (5 + 3 * 8)
|
||||
(4 + 2 + 3 + 9) + 6 * 4 + 2 + 9
|
||||
9 + ((5 * 8 * 8 * 2 * 5) + 8 + 7 * 4) + ((6 + 8 + 4 + 5 * 3 * 5) + 5 + 4 * 6 * 3)
|
||||
9 + (6 + 3) + 3 * ((2 + 3) + 8 + 4 + 8 + (2 + 9)) * 4 * 2
|
||||
7 + 8 + (2 + 9 * 9 + 3 * 9) + 6
|
||||
(8 + (8 * 6 + 9 * 4 + 2) + 4 + 9) + 7
|
||||
6 + (2 + (4 * 3 * 5 + 5) + 4) + 6 * 6
|
||||
7 * (3 * 9 * 3) * (7 + (6 + 8 + 4))
|
||||
8 * ((4 * 3 + 8 * 6) + 7 + 6 * 3) + (4 + 5 * (8 * 2 * 6 * 9) + 7)
|
||||
5 * ((8 * 4 + 2 * 9 * 8 + 2) * (3 + 5 + 6 * 9 + 5) * (5 + 9 * 9 + 2 * 8) * 2)
|
||||
(3 * 4 * 5 * 3) * ((8 + 6) + 2 * (6 * 9 + 9 * 9 + 2 * 7) + 6 * 2) * 5 + 4 + 8 + 2
|
||||
8 * (5 + 2 * 2) * 2
|
||||
(3 * 8) + 9 * (6 * 2 + (6 + 3 * 6 + 7 + 8 + 4) + 3 * 9)
|
||||
3 + 6 * (3 + 6 * 8 * 4 * 5 + 2) + (3 + 9 + 2 * 7 * (4 * 3 + 3 + 8) * (8 + 3))
|
||||
4 * (4 + 3 + 7 + 9 * 6) * 2 + 4 + 8 + (2 + 2)
|
||||
((5 + 7 * 2 * 9) + (2 + 3 * 6 + 2 * 5 * 8) * 8 * (8 + 8 * 6) + 5 * (7 * 9)) + 7 * 9 * (6 + 8)
|
||||
5 * 2 * 4 * ((3 * 4) * 6 + 3 + 5 * 5 * 9) + 7 + 8
|
||||
6 + 8 + (9 * 2 * 9 * 9 * 4 + 3) + 9 + (4 + 2)
|
||||
9 + 5 * 7 + 2 * 4 + (4 * 8 + 5)
|
||||
3 + 5 * 8 + 5 * 5
|
||||
(6 + 6 + 9 * 7 + 4 * 5) + 2 + 4 * 9
|
||||
((3 + 2) + 2 * 4 * 4 * 7) * (9 + 8 * 6 * 3 + 4 + 6) + 3 + 9 * (7 + 5 + 5) + 3
|
||||
7 * (8 + 6 * 9 + 8 * 5)
|
||||
9 * 4 + 8 + 2 * 3
|
||||
9 + 2
|
||||
3 + 2 + 9 + 8 + (2 * 9)
|
||||
4 * 9 * (3 * (2 * 7 + 6) + 9 + 7 * 5) + (9 * 3 * 5) * (6 * 4 * 9 * (5 * 7 + 7 + 2 * 7) * (5 * 5 + 8 + 8) + 8)
|
||||
5 * 7 * 4 * (3 * 8 + 6 * 2 * (8 * 2 + 4) * 4) + 7
|
||||
6 * 3 * 2 + (3 * 8) * 4 + 7
|
||||
6 + ((4 * 4) * 3 + 8 + 3 * (3 * 6 + 9 * 3 * 4) + (7 * 8 + 2 + 7 * 4)) + 7 + 2
|
||||
8 * 9 * (2 * 5 + 6 * 7 * 9)
|
||||
9 + (5 + (8 + 2 + 2 * 3)) + 7 * 2
|
||||
(5 + (3 * 8 + 4 * 3) + (3 + 6 * 2 * 9) + (8 + 7 * 7 * 5 + 2 + 9) + 6) * 5 + 7 * ((6 + 2 + 9) * 4 + 4 * 7 * 3) * 8
|
||||
4 * (9 * 4 * 9 * 4 + 4) * 6 * 7
|
||||
3 + 2 * (6 * 5 * 5 * 7 * (7 * 8 + 4)) * 2 * 7 + 4
|
||||
9 * (4 + 4 + 8 + 5 * (7 * 5 + 2 + 8 + 3 + 4) * (2 + 9 * 3))
|
||||
9 + ((9 * 7 * 9 + 4) * 3 + 3) * 2 + 2 * (7 + 6 + 2 * (2 + 8 + 7 + 6) * 5)
|
||||
8 * (7 + 2 + 4 * 9 * 8 * 4) * 8 + 7 * 9 + 2
|
||||
(9 + 4 + (9 * 5 * 2 + 7 * 9 * 9) + 3 + 5 + 6) + (8 + 5 * 8 * 5 + 8 + 2) + 8 * 2
|
||||
((7 + 8 * 6) * 7) + (4 + 3 + (8 + 2 * 9 + 8 + 3 * 3) * (6 + 5 * 4 * 8 + 8)) * 5 * 6 + 5 * 9
|
||||
((8 * 6 + 6) * (6 * 7 * 9) * 3 + (5 * 4 * 9 + 4 + 7 * 2) * 4) + (8 * (8 + 4 + 8 + 2)) + 4
|
||||
(2 + 2 * 4 * 6 + 6) + 4
|
||||
((2 * 4 + 9 * 2 * 3 * 4) * 8 * 5 + 8) * 6 * (5 * (6 * 4 * 9 * 3) + (2 * 2 * 2))
|
||||
(4 + 9 * 2 + 9 + 2 * 7) * (5 * (9 + 7 + 3) + (6 * 4) * (4 + 6) + (3 + 5 + 7))
|
||||
2 + (9 + 5 + 6) + (4 * 5 * 9 + 5 + 2 * 2) + 3
|
||||
((4 + 6 * 2) + 4) + 3 + (3 + 7 * 6 + 7 * 6) + 9 + (3 + 4) * 7
|
||||
6 * 4 + ((6 + 4 + 2 * 6 * 5) + 4 + 4 + 8 + (4 + 2 * 3 + 9) + 9) + 3
|
||||
2 + (4 + 5 + 6 * 2 * (5 * 5 * 9 * 9)) + ((8 + 3 + 9 * 5) * 3 * 2 * 4 + 9 * 3) + (9 * 8 + (7 * 4 + 6 * 9 + 8)) * 7
|
||||
5 + (7 + 3 + 6) * 8 * 5 + 9
|
||||
8 + (5 * (3 * 7 * 9 + 4 + 7)) * 2 + 8 * ((9 + 2 * 9 * 6 + 7 * 7) * 7 * 3 + (4 + 5 + 4 * 7) * (9 + 2) + 6)
|
||||
5 + (6 + 9 + (2 * 6 * 3 * 2) * 4 + 5 * 3)
|
||||
(3 * (3 + 7) * 6) + 5 * 6 * (3 * 2 * 3 * 7 + (3 + 4 + 4 * 7))
|
||||
9 + (2 + 5) * 6 * (5 + 6 + 9 * 6 * 7)
|
||||
6 * 5 * ((3 + 3 * 6 * 7 * 5 * 6) + (3 + 5 * 4 * 5) * 8 * 3 * 9 * 8)
|
||||
(6 + 7 * (5 + 6)) * 6 * 9
|
||||
2 + (3 + 6 + 5 * 3 + 3) + ((6 * 7 + 5 * 8 * 8) + 7 * 8 + 3 * 2) * 9 + 5
|
||||
((3 * 9 + 4) * 5 * 9 * 7) * 8
|
||||
(4 + 6 * 6 + 8 + 4) + 8 * 9 + 8 + 3
|
||||
2 * (8 + (3 * 9 + 2)) * 7
|
||||
2 + (4 + 6 + 4 * 9)
|
||||
5 + 9 + (4 * 8 * (3 * 7 * 9 * 2 * 6) + 7)
|
||||
(3 + 7 * 6 * 9 + (8 * 6 + 8)) + 3 + 3 * 9 + ((9 * 4) + 5)
|
||||
(6 * (9 * 5 + 9) + 4 * 2 + 5) + 5 * ((2 + 9 * 7) * 4 + (6 * 5 + 2 * 6 + 8 + 7) + 7) + (5 * 6 + (2 * 5) + 7)
|
||||
7 + 4 + 2 * (6 * (4 * 4 * 9 * 8 + 5) * 7 + 3)
|
||||
8 + (7 + 8 * 3 * (6 * 8 + 5) * (2 * 9 * 4 * 6 + 7 * 7) + 3)
|
||||
(7 + 9 * (3 * 6 + 5 + 2) + 5 * 2 + 2) * 6 * (3 + (3 * 8 * 6) * 2 * (4 + 5 * 6) * 5 + 5) + 8
|
||||
5 + 5 * 7 * (4 * 2 * 5 + 5) + 4 * 5
|
||||
3 + 4 + 3 + 5 * (2 * (7 + 9) + 2 * 5)
|
||||
(2 * 7 * 7) * 4 + 4
|
||||
((4 * 5 + 6) + 7) + 4 * 3 + 5 * (9 * 7 + 9 + 8 + 6) * 6
|
||||
7 * 6 + 4 + 5 + (5 * 5 * 2) + (5 * 2 + 5 + 6 + (3 + 3 * 4 * 7 * 9))
|
||||
5 * (2 * (6 + 6 + 4 + 4 + 9 + 5) * 4 + 9 * 8 + 2) * 4 * 4
|
||||
2 * 6 * 3 + (7 + (9 * 6 * 5 + 6 * 7) + 2 * 2) * 9 + 5
|
||||
(9 * 6) + (2 * (8 * 4 + 3 + 8 + 8)) * (2 + 4 * 5 + 3 + 4) + (5 * 7 * 7 + 7 * 7)
|
||||
7 * 2 * ((6 * 5) + (3 + 9 * 3) * (4 + 3 + 9 + 8 + 3))
|
||||
8 * ((4 * 4) * (6 + 6 + 3 * 5 * 3) * 4 + 3 * 4) + 5 * (6 * 4 * (5 + 7 + 7 * 5 + 4) * 5) + 7 + 5
|
||||
((6 + 2 * 9 * 2 * 5 * 7) * 7 * 4) * ((4 + 4 + 4) * 8 + 4 * 8) + (6 + 8)
|
||||
2 * 7 + 3 + 4
|
||||
(9 * (4 + 7 * 2 * 6) * (5 * 5 + 2 + 2 * 5)) + 8
|
||||
4 + ((5 + 3) * 4 * 9 + (3 + 5 * 6) * (3 + 8 * 2 + 3)) * 6 + 9
|
||||
7 * (4 + 6 + 2) + 7 * 2 * 7 * 6
|
||||
6 * ((4 * 9 * 5 * 4) * 7) + 4
|
||||
9 * (6 + 4 + 9 * 9) * 4 * 7 + 2 * 9
|
||||
(9 * (4 * 7)) * 8 * ((7 * 8 * 7 * 3 + 8) + 2 * 2 * (5 + 6) + (2 * 6 * 5 * 5))
|
||||
8 + 2 + 2 * 6 * 2 + 8
|
||||
(5 + 3 + 3 * 5 + 4) * (3 * 6 * 7 * (2 + 4 + 3 + 5 * 4) + 8 + 4)
|
||||
(6 + 6 * 4 + 7 + 4) + 9 * 7 + (5 + 7) * 5 * 4
|
||||
((3 * 4 * 8 + 8 * 8 + 9) * 2 + 8) * 5 * 8 + 3
|
||||
2 * 2
|
||||
(9 + (3 + 2 * 3 + 4) * 4 + 8) * 8 + (7 + 6 * 3 * 7 * 4) * 9 + 4 * 8
|
||||
7 + 3 + 6 + 6 + 5 * 2
|
||||
8 + 2 * 3 * 3
|
||||
7 * 6 * (5 + 2 * 6 * 7 * 6 * 2) + 6 + ((7 * 5 + 9 + 4) * 7 * 6 + 9 * 8 * 2) * 5
|
||||
(3 * 3) * 2 + 4 * 2 + 3
|
||||
4 * (5 * 6 * 2 * 4 * (8 + 3 * 5) * 9) + 5
|
||||
(8 + 5 + 7 + (7 + 6 * 7)) * 7 + 2
|
||||
9 * 2 + 8 + (3 * 9 + 6 * (8 + 6 + 8 * 3 * 8)) + ((5 * 5 * 5) * 2)
|
||||
2 * (2 + (8 + 7 * 7) * 9 * 7 * 3 * 9) + 7 + 4 * 3 + 7
|
||||
8 * 4 + (2 + 3 + 4 * 8)
|
||||
((6 + 2 * 6 + 8) + 4 + 4 * 4 + 8 * 7) + 5 * (4 * 4 + 7 + 3 + 2)
|
||||
7 * (2 + 9 * 8 * 2 + 5 + (8 + 9 + 6))
|
||||
2 + 8 + (5 + 8 + 2 * 6) * 4 + 2
|
||||
((9 + 6 * 8 * 4 + 2) * 2 + 4 * 6 * 5) * 5 + 6 * 3 + 4 * 6
|
||||
(9 + (6 * 7 + 2 * 7 * 7) * 6) * 6 * 6 * 4
|
||||
(4 + 2 + 3 + 3 * (8 * 5)) + 6 * 2 * (8 + 7 + 3 + 9 * (2 * 4 * 8 * 6 + 8 * 5))
|
||||
7 * 4 + (9 + 6 + (9 * 4 * 7 * 8 * 3 + 4)) + (2 + 8 + 7 + 5 + 7) * 2 + (8 * 6 + 5 * 6 * 9 * 8)
|
||||
(9 + (3 * 6) * (5 + 2)) + 5 * 7
|
||||
9 + (8 * 4) * 2 * 6
|
||||
8 * 3 * (9 * (7 * 6 + 7) * (7 * 8)) + 3
|
||||
8 * 7 * 6 * (7 * 7 + 3 + 2 * 6) + (8 + 2 + (7 + 9)) + (5 + 5)
|
||||
(2 * 5 * 7 * 8) + 6 * (5 * 8 + 9 * 8) * 7
|
||||
(2 + 8 * 6 + (7 + 9 * 8 + 2)) + 6 + (3 + 4 + 4 * 2 * 4) + 8 * 8
|
||||
7 + ((4 + 7 + 9 * 9 + 7) + (2 * 5 * 8 * 7 * 7 * 8) * 9 + 6 + 9 * 5) * 4 * 4 * (7 + (3 + 7 + 3 + 4) * 6 * (5 + 4))
|
||||
3 + ((6 * 6 + 8 + 6 * 2) + 6 + 3 + 2 * 5 * 7)
|
||||
9 + 8 + 9 * (2 + 7 * 5) * 4
|
||||
9 + (9 * (8 * 7 * 2 * 6 + 2 * 9)) + 7 * 3 * 2 * 5
|
||||
8 * 9 * (2 + 2 * 6 + 6) + 5
|
||||
(6 * 5 + 8 + 8) + 7 * ((4 * 6 * 3 * 8 * 3 * 5) + (5 + 6 * 8 * 3) + 3) * 7 + 6
|
||||
7 + 2 + ((6 * 7) * 8 + 7) + 6 + 3 * 9
|
||||
6 * (2 * 2 + 8 * 4 + 3 * 9) + (6 * 2 * 4 + (2 * 5 + 4 * 8) + 9) * 7
|
||||
7 * 5 * (6 * 2 + (4 * 5 + 2) + (2 * 5 + 5 + 5 * 7 * 6) * (6 + 5 * 8 * 2))
|
||||
9 * ((7 + 7 + 2) + (5 * 5) + (2 + 3 + 2 * 8 * 7) * 7) * 3
|
||||
(7 + 6) + 3 * 3 * 4 * (2 + 7 * 4 * 4 * (5 * 3 + 8 + 6 * 8))
|
||||
4 + ((6 * 3 + 8 * 6) * 3 + (8 * 4 + 9 * 6 + 4 + 3) * 8 * 2) + 4 * 8 * 2 * 9
|
||||
(9 * (3 * 5 + 8 + 3 + 8) * 3 + 9) + 5 + 5 + 8 + 2
|
||||
(6 + 3 * 7 + 9) * 9 * 6
|
||||
(5 * 2 + 2 + 2 * 7) + 7 * 7 + (6 + 7 + 9 + 9 + 5) * 7 * 5
|
||||
5 + 8 * (2 * 2 + (6 * 3 * 6 * 7 + 8) * 4 + 6)
|
||||
4 + (8 + 2 + 9 + (2 + 4) + 4) * 5
|
||||
7 + 8 * ((9 + 8 * 6) * 8 * (4 * 2 + 3 * 7 * 9 + 6) * 2)
|
||||
(8 + (2 * 8 + 6 * 9 * 6 * 4) * (5 + 5) + 6) + 7 * 8 * 8 + 5 * ((5 * 3 * 7 * 2) * 5 + 4 + (2 * 6 + 6 + 2 + 2) * 4 * 2)
|
||||
6 + (9 + 8 + 5 + 7) + 3 * (7 * 6 * 5 * (2 * 8 * 7 * 5) + 3 * 5) + 3
|
||||
9 * (6 * (8 + 4 * 8) + 4)
|
||||
(9 + (5 * 7 * 7 * 8 + 9) + 5 + 5 * (8 * 7 + 2 + 9 + 9) * (9 + 6)) * 3 * ((8 + 3) + 8 * 4 + 2 * (8 + 6 + 4) * 4) + ((8 + 3 + 8 + 7) + 7 * 8 * (7 * 7) + 5) + 9
|
||||
((3 * 4 * 9) + 2 + 8 + 5 + 2 + 3) * (6 * 8 * 8 + 6 + (4 + 6 + 8)) * 2 * 6 + 5 + 9
|
||||
2 + 2 + (9 * (2 + 5 * 8 + 2 * 5 * 5) * 3)
|
||||
(6 * (2 * 8 + 6 * 4 * 9 + 9) + 8) + 3 + (3 + 2 + 2 + 8 * (3 + 4 + 8 * 9 + 2 + 5)) + 3 * 7 + 5
|
||||
(2 + 5) * (2 + 5) * 3 * (2 + 7 + 8) + 2 + 8
|
||||
3 + 8 + (7 * 2 + (9 + 2 + 8 * 4) + 8 * 8) + 4 * (5 + (6 * 5 * 8) + 7 * 8 + 9 + 8)
|
||||
9 + 4 * (4 + (5 * 3 + 7 + 8 + 7 * 4) * 6 + 8 + 9 + 9) * ((4 * 6 + 8) * 9 * 9 * 6)
|
||||
8 + 7 + ((3 * 6 + 2) + (8 * 2) + 3) + 7
|
||||
(6 + 4) * 9 + 9
|
||||
6 * ((8 + 5) + 7 * 3 * 8 * 5 * 5) * 4 + 4
|
||||
7 + ((4 + 7 * 3 * 3 + 8) * 5 * (8 + 2) * (2 + 6 + 5 * 7 * 4 * 8) + (7 + 5 + 2) + 8)
|
||||
9 + 7 + (7 * 8 + 9) + 3 * 6 + 6
|
||||
(5 * 9) + 5 * 2 + 8
|
||||
(9 + 4 + 7) * ((9 * 7) + 9) + (3 * 9) + ((7 * 5 * 2) * (6 + 9 * 8 * 2 + 5 * 6) + 8 + 9 * 8 + (4 * 9 * 2)) + 6
|
||||
4 * 8 + 7 * ((6 + 9 * 2) * (4 * 7)) + 9
|
||||
8 + ((2 + 2 * 6) * 6 + 2 + 4 + 9 + 5) * 3
|
||||
8 + 7
|
||||
3 + 7 + (9 + 4 + (8 * 4 * 7 + 7 * 3 + 5) + (9 + 7 + 2) + 9) + 5 + 5 * 2
|
||||
6 * 7 + (3 + (3 * 3) + 4 + (2 * 7 * 2 * 3) * 7 + 6)
|
||||
5 * (4 + (7 * 7 + 4 * 5 * 2 + 6) * 3 + 5 + (4 * 3 + 3 + 6 * 6) * 7) + 3 + ((2 * 8 * 4 + 8) + 6 + (5 * 9 + 2 * 7) + 4 * 8) * ((3 * 5 * 3 * 9 * 7) + 5 + (3 + 9 + 9 + 2 + 5)) + (3 * 7 + 9)
|
||||
(3 * 7) + 5
|
||||
(2 * 5 * 6 + 6) * 2 * (9 + 3 + 6)
|
||||
2 * 2 + (6 + (4 + 2) + 4 + 9 * 9) + ((9 + 3 + 6) + 2 * 3 * 5 + 3 * 3) * 8 * (2 + (6 + 3 + 2 + 9 * 6 * 6))
|
||||
8 + (6 + 8 * 8 + 3 + (4 * 7 + 6 * 3 + 6 * 8) * 6)
|
||||
(8 * 8 * 4) * 5 * 9 * 9 * ((9 * 2 * 8 * 2) * 4 + (2 + 2) + 8 + 9) * 4
|
||||
(6 * 3 + (8 + 5 * 9 + 2 + 8) * 3 * 7 * 2) + 9 + 8 + 2
|
||||
(2 * 4 * 3) * 4 + 6 + ((5 * 7 * 4) + 7 + 4 + 5)
|
||||
(8 + 5 * 2 + 5 * 3 * 9) * 8 + 8 * 2 * 8 + 5
|
||||
4 + (6 + 6 * 9 * 5) * (4 + 5 * 6 + 8) + 8 + 8
|
||||
6 + (5 + 7) * 3 + (7 + 2 + 4 * 5 + 2 * 4) + (6 + 4 * 5 * 7 + 4 + 5) * (5 + 6 + 8 + 8 + 9)
|
||||
(5 * 7) * 6 * 8 * 9 * 6 * 6
|
||||
6 + 8 + 7 + 3 * (2 + 9 * 7)
|
||||
3 + ((8 * 5 + 8 * 8 * 9 + 8) * 2 + 6) * 2 + (2 + 6)
|
||||
6 + 6 + (3 * 7 * 8 * (3 * 4 + 2 + 2 + 3)) + ((6 * 3 + 9 + 2 + 5 * 9) * 9 + 2 * 7 * 2 + 4) + 9 + 4
|
||||
9 * 8 + ((6 + 8 * 2 + 7 * 6 * 4) + 4 + 3 + 7 + 5)
|
||||
((2 + 9 + 2 * 9 + 3 * 5) * 3 + 3 * 4) * 4 + 4
|
||||
6 * (8 + 7 * 5 * 8 + 2 * 2) + (4 * 4 + 8 + 3) + 3 * 5
|
||||
7 + (8 * 3 * (5 + 7 + 6) + (9 + 9 * 9 * 6 + 4 * 7)) * 7 + 9 + 4
|
||||
6 * (9 + 7 * 6 * 5 * 8) + 5
|
||||
2 * 6 * (4 + (4 * 7 * 2 + 9 * 9) * 5 + 2) + ((5 + 6) * 3) + 8 + 2
|
||||
5 + 4 * 9 + (5 * (8 * 9 + 2 + 3) * 6) * 3 * 5
|
||||
5 + 9 + 9 + (5 + 2 + 8) * 3 * (7 + 6 + (7 * 7 + 7 + 7) * 6 + 7 + 2)
|
||||
(2 + 6 * 4 + 9 * 2 + 2) + ((3 * 8 * 6) + 2 * (9 * 5))
|
||||
5 + 3 * (3 * 5 * 3 * (7 + 6 * 9 + 3 + 8 + 4) * 9) + 2 + 7 * (6 * 8 * 7)
|
||||
(4 + (9 * 5 + 3 + 4 * 5) * 6 + 9 * 6) * 5 * 9
|
||||
4 * (2 + 4 * 4 + (2 + 6 + 8 * 2 * 8 * 8)) * 4 * 6 + 9 + 3
|
||||
(8 + 9 + 4) + 2 + ((5 * 7 * 3 * 9 + 3) * 6 + 4) * 3 + (2 * 5 * 3 * 3) + (7 + 2 * 9)
|
||||
8 + (6 + 4 * 8 * (9 + 6) + 5 * (5 * 8 + 9)) + 2 * 5
|
||||
7 * 5
|
||||
(4 * 3 * 3) + 7 * (8 * 4 + 3 + 9 + 5 + (6 + 4 * 8 + 3 + 7)) * 6 * 9
|
||||
9 * 2 * (9 * 9 + 4 + 2 * 9) * (3 + 5 + 8)
|
||||
3 + (3 + 6 + 8 + 3 * 7) + 6 + (8 + 7 + 5 + (4 + 8 + 5 + 4)) * 6
|
||||
7 * 2 + 3 + 8 + 2
|
||||
9 * 6 * 5 * 9 * (3 * (8 + 9 + 5) * (5 + 3 + 8) + 5) + 5
|
||||
6 + 6 + ((6 + 2 * 7 + 5 + 3) + 4 * (8 * 4 * 2 * 2 + 7)) + 8 + 5 + 3
|
||||
9 + (2 * 7 * 4 * 5 + 6 + 4) * 5 * 2
|
||||
7 + ((2 * 4 + 2 + 4 + 3 + 3) * 9 + 5 + 6)
|
||||
2 * 9 * 8 * (5 + (4 + 5 + 2 + 7))
|
||||
2 * 6 * 4
|
||||
(8 * (9 * 6 * 9 * 2 + 4) * 6 + 7 * 6) * 6
|
||||
8 * (3 * 3 * 4 + 8) * 8 * 7
|
||||
(8 * 3 * 8 * 8 + 4 + 8) + 4 * (9 * 3) * 7
|
||||
((8 * 9 + 2 * 4) * (4 + 3 + 8 + 9 + 8) * (3 * 8 + 7) + 6 * 3) + 5
|
||||
2 + (8 * 9 * (7 + 6) * (4 + 7 + 7 + 7))
|
||||
4 + (8 + 6 + (8 + 6 * 6 + 7 * 9) + (3 + 6 * 5 * 6)) + 5 * 8 * 7 * 9
|
||||
(7 * 7 + 8 * 4 + 4) * 3 + 2 * 4 + 5 * (4 * 7)
|
||||
((4 + 2 * 6 * 8 * 9) + (8 * 5 + 8) * 9) * 9 + 7 * 7 + 9
|
||||
6 + 3 + ((5 + 6 * 6 * 4 * 3 * 6) + 4) + 4 + (6 * 7 * 4 * 7 + 4 * 5) * 4
|
||||
3 * 2 + (4 * 4 * 3)
|
||||
9 + 7 + (8 + 4 * 5 * 7 + 3) * 9 * 6 + 4
|
||||
(3 * 8 + 9 + 8 + 5) + (2 * 6 * (2 * 4)) * 7 + (7 + 9 * (4 + 9 * 2 * 9 * 9) * 2) + (4 * 2 * 3 * 9)
|
||||
2 + 3 * 4 * 6 + 6
|
||||
8 * 4 * 8 + (2 * (5 + 9) * 3) * 6 * 4
|
||||
8 + (5 + 3 * 3) * 8 * (9 * 9 + 3 * (9 + 9 * 5 + 8 * 4 + 4) + 9) * ((5 * 7 * 7) * (9 + 6) * 6)
|
||||
2 + 5 + 7 + 8 * (4 + 9 * 4) + 7
|
||||
(7 + 9 + 7 + 2 * (5 + 3 * 6 * 5) * 4) + 5 + 8 * 3
|
||||
8 * 7 + (4 * 8 * 9 * 7 * 7 * 7) * 5 + 6 * 4
|
||||
((8 + 6 * 9 + 7 + 3) + (8 * 2 + 9 + 6) * 3 * 8 + 9 * 5) + (3 * 8 * 2 * 9 * 5) * 3 + (7 + (7 + 4 + 3) + 3) * (9 + 9 + 6 * 9 + 2 * 9)
|
||||
(9 * 3 + 2 + 5 * 9) * 5 + 6
|
||||
(3 * 6 + 5 * 9 + 2 * 6) + 2 * ((9 * 3) * 2 + (9 + 7) * 4 + (2 * 8 + 2 * 4 * 9) + 7) + 9 * (5 * (6 * 8 * 9) * 4 * 6 + 2) + 2
|
||||
2 + 9 + 6 + (6 + 6) * ((4 * 7 * 6 * 8 + 3 + 3) + 9 + 7) + ((2 * 2 * 6) + (9 + 2 + 6 + 2 + 8) + 4 * 7 * (7 + 4 + 4 * 5 + 8) * 4)
|
||||
7 * 4 + 9 + (5 + 9 + 9 + 4)
|
||||
2 * 8 * 2 + (4 * 9)
|
||||
7 * 3 + (5 + 8 * 4 * (9 + 6 * 8 + 2 * 3 + 9) + 2 * 9) * 9 * 5 + 9
|
||||
2 * (5 * 6 + 8 * 2 + 6) * 3 * 3 + 7
|
||||
(6 * 5) + 8 * 3 + 9 * (7 * 4 * (2 * 6 * 6 * 2)) + 6
|
||||
6 * 5 * 2 * 8 + 8 + (6 * 5 + (7 * 7) + 3 * (9 * 8 * 2 * 5 + 4 + 5))
|
||||
2 + 3 + 7 + (8 * 2 * 2)
|
||||
6 + 3 * ((9 + 7 * 4 + 4 * 3 * 6) + (3 * 5 + 8 + 3 * 3 + 4) * 5 + 5 * 5) * ((4 + 2) + 9 * 4 * 9 * 5)
|
||||
8 + 7 + 6 * 2 * ((8 * 3) * 3) * (2 + 5 * 5 + 5 * 8 + 8)
|
||||
5 * 2 * 8 * 4 * 7 * 2
|
||||
4 * 9 + 8 * ((9 * 5) + 5 * 2 * (6 * 4 + 2) * (2 + 8 * 8 + 8 * 2))
|
||||
3 * 2 + ((8 * 8) * 2 + 8 + 5 * 8 + 9) * ((4 * 7 * 4 + 5 + 6) * 6 * 3)
|
||||
(3 * (3 + 3) * 2 * 3 * (4 * 2 + 9 + 3 * 5 * 3)) * (2 * 2) * 3 + (5 * 5 * 6 + 2 + 2 * 3) + 7 * 2
|
||||
4 * (3 + 2)
|
||||
3 * 9 * 2 + (5 * 7 * 5 + 7 * 5 * 9) + 9
|
||||
2 + (5 * 7) + 3 + 7 * 8 * 8
|
||||
((4 * 6 * 8 + 4 + 4) * (2 + 3 + 5 * 2)) + (2 * 5) + 3
|
||||
9 + (5 * (3 + 8 * 7) + 8 + 4 + 8 * (6 * 2 * 7))
|
||||
9 + 6 + 6 * 3 * (2 + 7 + (5 + 7 + 4) + 3 * 2) + 5
|
||||
7 + (5 * 5 + (4 * 5 + 7 * 4 + 3 + 3) * 4 + 7)
|
||||
9 + 5 + 3 + ((7 + 7 + 2) + (6 + 9 + 7 + 4 * 5 + 7)) + 6 * 6
|
||||
5 * 8 * 2 + ((6 + 6 * 3 + 6 * 8 * 6) + 6 * 3) + 3 * 2
|
||||
(5 + 5 * 5 * (3 * 7 * 3 + 2) + 6 + 6) + 7 * 4 + (6 * (8 * 8 + 5) * 9 * 8 * 8 + 4) + 6
|
||||
(7 + 3 + 6 + 2 * 8 + 5) * 6 * (2 * (3 + 7 + 9 + 6) + 5 + 2) + 8
|
||||
((7 + 4) * 6 * 9) + 5
|
||||
2 * 7 + 5 + 4 + 7
|
||||
9 * (2 * 2 * 7 + 4 * (4 * 6 * 5 * 8))
|
||||
5 * 9 + 8
|
||||
6 * 2 * 8 + (5 + 3 + (8 + 9 + 6))
|
||||
3 * 5 + 9 * (4 + 2 + 9 + (5 * 3) * 3 + 6) * 5
|
||||
4 * 8 + (3 + 9 * 6) * 7 * (7 * 3 * 9 + 8 + 6 + (9 * 9 + 7 + 4)) + 8
|
||||
(2 * 9) * (6 * 8 * 6 + 5)
|
||||
9 * 2 * 3
|
||||
(6 + 2 * 9 + 5) * 6
|
||||
(8 + 3 + 2 * (2 + 8 * 2 + 6 * 2 + 2)) * 2
|
||||
(4 + 8 * 6) * 3 * 6 + 4 * (3 * 2 * 5 + 9 + 9) + 8
|
||||
3 + (9 * (8 + 6 + 8 * 7) * 8 * 7 + 7) * 7 + 8 + (2 + 3 + 6 * 6 + (2 + 4 + 6 + 5 * 3)) * 5
|
||||
((5 + 2) + (7 * 4 * 9 + 3) * (4 + 5 * 8 + 6 * 6) + (9 + 2) * 4) + 6 + 9 * 3 * 4 * 5
|
||||
2 + (7 * 5) + 4 + 3 + (3 * (7 + 2 * 6 * 7 + 6)) + 4
|
||||
2 + 6 + (3 + 2 + (2 + 3) + 7 * 4 * (8 * 7 * 2 * 4 + 8 * 5))
|
||||
4 * 3 + 6 + 5 * (9 + (2 * 4 * 8 * 8 + 8) + 2 + 4) + 9
|
||||
4 * 6 + (9 * 8 * 9 * 5 * 9 + 7) + 7
|
||||
(4 + (9 + 5 + 2 + 4 * 4 + 6) * 5 + 8) + (2 + 8 + (6 + 5 * 8 * 7) + (7 * 5)) + 5
|
||||
3 + 2 + (6 * 9 + 9 * 2) * (7 * (5 * 8) + 9 + 6 * (7 + 7 * 9 + 2 + 4) * 7) * 9
|
||||
5 + 9 * 7 * (8 * (6 + 4 * 5 + 3 * 2 * 4) + (5 + 2) * (6 * 3 * 7 * 6 + 8 + 3))
|
||||
5 * 7 * 2 + 7 * 6 + (2 * 7 + 5 * 5 * (6 + 7 + 5 + 7))
|
||||
4 + 7 * 2
|
||||
9 + ((6 * 7) + (9 + 7 + 7)) * 4
|
||||
5 + 6 * (3 * (8 * 8 * 3 + 4 * 5) + 4 + (2 + 7 + 3))
|
||||
(2 + 7 + 6) + 5 + 7 * 6 * 8 * 9
|
||||
2 * (6 + 9) * 8 * (9 + 4) + 7 + 8
|
||||
5 + 3 * 6 * 9 + (4 * 8 + 3 * 2)
|
||||
9 * (2 + 5 * 5) * 9 + (8 + 2 * (5 + 2 * 7 + 7 + 4 * 9) + 3 * 6 + 9) + 8
|
||||
8 + 4 + (2 + (9 * 2) * 5 * (5 * 8)) * 8 * 7
|
||||
5 * (3 * 5 + 6 * 4) + (7 * 5 * (6 + 6 * 7 * 8 * 6) + 8)
|
||||
5 + (4 * 6) + 6 * 5 + 6
|
||||
7 * 9 + ((6 + 3 + 6 * 4 * 4 * 6) + 7 + (6 + 4 * 7 * 3 + 9 * 6) + 4 + 9) + 6
|
||||
(8 * 6) + (3 * (3 + 2 * 7 * 9 + 9 + 9) * 3 + (2 + 8 * 5))
|
||||
3 * 4 * 6 * 4 * ((2 + 3 * 6) * 9)
|
||||
5 * ((8 * 5 + 7) + 4 + 7 + 6 * (9 * 6 * 3 + 9 * 7 + 2) + (4 + 4)) + 8 * (7 * (2 * 8 * 6) + 8 + 9 + 6) + 7
|
||||
2 * 8 * 5 * ((9 * 4 * 9 + 5 + 2) + (3 * 9) + (6 + 9 * 4 * 9 * 2) * 5 + 5) * 9
|
||||
5 + (7 * 8 + 7) + 2 * 5
|
||||
4 * (7 + 4 + 5 + (6 * 2 + 3)) * (7 * 3 * 7 * 8 * 7) * 2 * 2 + 2
|
||||
(4 + (5 + 5 * 8) + (5 * 5 + 3 * 5) + 6) + 6
|
||||
6 + (8 + 6 * 4 + 8 + (7 * 6) * 6) + 2 + 3
|
||||
(6 + 3) + ((8 * 7 * 6 * 6 + 6 * 7) * 4 * 6 * (3 + 3 * 2)) + 6
|
||||
4 * 2 * 3 * 3 * 7 + 9
|
||||
3 * 4 * 8 * (6 * 6 * 3 + (3 * 9 * 3 * 3 + 6)) + 5 + 4
|
||||
((7 * 2 + 7) + 9) * 2 * 8 * 3 + 3 * 3
|
||||
2 * 3 + ((2 * 5) + 8 * 7 * 5 + (8 * 2 * 4) * 8) * 3 + 7 * 8
|
||||
9 + (4 + 6) * 3
|
||||
(9 + 5) * 3 * 2 * 7 * (6 * 4 * 3)
|
||||
(3 * 3 * (3 * 3 * 5)) * 7 * 8 + (6 * 7 + 4) * 2 * 2
|
||||
(2 + 4 * (9 + 9 * 7 * 9) + 4) + 4 + 3
|
||||
(9 + 4 + 3) * 9 * 3 + 7 * 3
|
||||
6 + 4 + (6 + 2 + 4) + (9 + 7 * 8)
|
||||
7 + 9 + 5 * (3 + 9 * 7 + (5 + 8 + 9 * 4 + 6) * 5 * 8) + 9 * 6
|
||||
(3 * 7 * 7 * 3 + 7) + 4 * 3 + 5
|
||||
(8 + 7 * 2 + 5) * 4 + 7 * 2 + 5 + 3
|
||||
9 * 5 * ((5 * 8 + 2) * 7) + 2
|
||||
8 * 4 * 9 + 2
|
||||
4 + (3 + 5 * 7 * 3 * 8 + 5) * 6 + (3 + 2 + 9) * 5
|
||||
(3 * 5 + 8 * 8 * (7 * 6 + 2 * 6 + 9 * 7) * 9) * 7 * 9 + 9 + 3
|
||||
5 * 9 + 6
|
||||
6 * (8 + 3 + 4)
|
||||
2 + 5 + (4 + 5 + 8 * (8 + 6 * 9 * 8 + 3) * (3 + 9 * 3) + 3) + 7 + 2
|
||||
9 * (6 + 4) * 9 * 4 * 2 * ((4 + 3 + 2 * 9) + 6 + 5 + 8 * 7 + (7 * 7 + 6 + 2 + 8))
|
||||
(7 * 2 * (4 + 2 + 7 * 5 * 6 * 5) * (3 * 4 + 2) + 6) + 9 + 5 + 3
|
||||
4 * 5 * ((5 + 9 * 7 + 2) + 4 * 7 + 9) + 9 + 7
|
||||
7 * 2 * 6 + 9 + 5 * 6
|
||||
3 + 3 * 7 * ((3 * 3 + 2 + 7 * 5 + 2) + 7 * 6 * 2 * 5 * 9) + (4 * 5) + 7
|
||||
9 + ((5 + 5 * 7) + 7 * 2) + 7 + 6
|
||||
4 * 9 * 9 + ((9 + 3 + 7 * 4) * 4 + 2 + 9 + 8 + 6) * 6
|
||||
(6 * 2 * 5 + 4 + 5) + (8 + (8 * 5 + 7 * 7 + 6 * 2) * 6 + 6) + 4 * 8
|
||||
(5 + 6 * 2) * 5 * 6 * (5 * 5) + 9
|
||||
(7 + (9 * 4)) * ((4 + 3 + 5) + 7 * 5)
|
||||
2 * 5 + ((9 * 6 * 3 * 6 + 4) * 9 * 4) * 2 * 3 * (8 + 6)
|
||||
3 * 6 * 5 + 9 * (6 + 4 * 2 + 5 * 6)
|
||||
((7 + 8) + 3 + 7 + (8 * 3 * 6 + 8) * 2) * ((3 * 5 * 9) + 5) * 8 + 8
|
||||
((3 * 4 + 5 + 2) + 6 * 6) * 9
|
||||
4 + 6 * (9 * 6 * 7 + (2 * 5 + 5 * 9 + 6)) * 8
|
||||
4 * (2 + 2 + 9) + 5 + 5 * ((5 + 3) + 4 * 7)
|
||||
6 + 8 * 3 + 4
|
||||
2 + 8 + (8 + (7 + 5 * 3 * 8 * 7 + 2) * 6) + 3
|
2
2020/18/solution.txt
Normal file
2
2020/18/solution.txt
Normal file
@ -0,0 +1,2 @@
|
||||
Part 1: 5783053349377
|
||||
Part 2: 74821486966872
|
24
2020/18/test_code.py
Normal file
24
2020/18/test_code.py
Normal file
@ -0,0 +1,24 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
# Copyright (c) 2020 Akumatic
|
||||
|
||||
from code import part1, part2, parse
|
||||
|
||||
def test():
|
||||
assert parse("1 + 2 * 3 + 4 * 5 + 6") == 71
|
||||
assert parse("1 + (2 * 3) + (4 * (5 + 6))") == 51
|
||||
assert parse("2 * 3 + (4 * 5)") == 26
|
||||
assert parse("5 + (8 * 3 + 9 + 3 * 4 * 3)") == 437
|
||||
assert parse("5 * 9 * (7 * 3 * 3 + 9 * 3 + (8 + 6 * 4))") == 12240
|
||||
assert parse("((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2") == 13632
|
||||
print(f"Passed part 1")
|
||||
|
||||
assert parse("1 + 2 * 3 + 4 * 5 + 6", precedence=True) == 231
|
||||
assert parse("1 + (2 * 3) + (4 * (5 + 6))", precedence=True) == 51
|
||||
assert parse("2 * 3 + (4 * 5)", precedence=True) == 46
|
||||
assert parse("5 + (8 * 3 + 9 + 3 * 4 * 3)", precedence=True) == 1445
|
||||
assert parse("5 * 9 * (7 * 3 * 3 + 9 * 3 + (8 + 6 * 4))", precedence=True) == 669060
|
||||
assert parse("((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2", precedence=True) == 23340
|
||||
print(f"Passed part 2")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test()
|
@ -23,7 +23,7 @@ Collect stars by solving puzzles. Two puzzles will be made available on each day
|
||||
| 11 | :white_check_mark: | :white_check_mark: || 12 | :white_check_mark: | :white_check_mark: |
|
||||
| 13 | :white_check_mark: | :white_check_mark: || 14 | :white_check_mark: | :white_check_mark: |
|
||||
| 15 | :white_check_mark: | :white_check_mark: || 16 | :white_check_mark: | :white_check_mark: |
|
||||
| 17 | :white_check_mark: | :white_check_mark: || 18 | | |
|
||||
| 17 | :white_check_mark: | :white_check_mark: || 18 | :white_check_mark: | :white_check_mark: |
|
||||
| 19 | | || 20 | | |
|
||||
| 21 | | || 22 | | |
|
||||
| 23 | | || 24 | | |
|
||||
|
Loading…
x
Reference in New Issue
Block a user