Это простой подход на основе очередей для решения головоломки цифр в наименьшем количестве шагов.
python solver.py 1 2 3 4 10 25 --target 81
(где шесть чисел -шесть чисел, изложенных в пунктирном круге, а 81 -это большое число, которое вы пытаетесь достичь) $ python3 solver.py 5 11 19 20 23 25 -t 413
Found a solution in 4 steps. Run with --spoil to see the details.
$ python3 solver.py 5 11 19 20 23 25 -t 413 --spoil
Found a solution in 4 steps:
20 ➖ 11 ? 9
23 ➕ 25 ? 48
9 ✖️ 48 ? 432
432 ➖ 19 ? 413
У меня есть минимальные тесты в test_solver.py
. Запустите python -m unittest
, чтобы увидеть, работает ли что -то после того, как вы внесете изменения.
Найдите меня на Mastodon: https://takahe.social/@drew
PRS приветствуется!