Riddle solver algorithms for the NYT Digits game
Project description
nyt-digits-solver
Puzzle solver for the NYT Digits game (no longer active).
Given a set of numbers and a target, finds the sequence of arithmetic operations (+, -, *, /) that produces the target. Also lets you explore the full set of values reachable from a given input.
Installation
pip install nyt-digits-solver
Usage
solve
Returns a list of solutions. Each solution is a list of Step(numbers, operation) where operation is the step that produced that state (None for the initial state).
import nyt_digits_solver as ds
solutions = ds.solve([1, 2, 3], target=6)
# [
# [
# Step(numbers=[1, 2, 3], operation=None),
# Step(numbers=[3, 3], operation='2+1'),
# Step(numbers=[6], operation='3+3'),
# ]
# ]
for step in solutions[0]:
if step.operation:
print(f"{step.operation} → {step.numbers}")
# 2+1 → [3, 3]
# 3+3 → [6]
Find all solutions instead of just the first:
all_solutions = ds.solve([1, 2, 3, 4, 5, 25], target=452, how_many_sols=None)
explore
Returns the set of all values reachable from the input numbers via any sequence of operations.
reachable = ds.explore([2, 3])
# {1, 5, 6}
452 in ds.explore([1, 2, 3, 4, 5, 25])
# True
CLI
python -m nyt_digits_solver.main -n 1,2,3 -t 6
# Found 1 solution. Took 0.0 seconds.
# Start: [1, 2, 3]
# 2+1 → [3, 3]
# 3+3 → [6]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nyt_digits_solver-0.1.4.tar.gz.
File metadata
- Download URL: nyt_digits_solver-0.1.4.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98caf2ab6e65e0a6ced2be00fac7638230d34cd4ab3cead91ba0af1ecf4bb4a9
|
|
| MD5 |
49d7d614e551e9e2ef0081e68ce7eaba
|
|
| BLAKE2b-256 |
a7ebbbb76b85f385213f6aca010dcb4c293d577211585bd89e2cf3f59f92e35a
|
File details
Details for the file nyt_digits_solver-0.1.4-py3-none-any.whl.
File metadata
- Download URL: nyt_digits_solver-0.1.4-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7dd6ccd7cca3e67323350ffb6f0f854a456d279da0b5a72302e9b7bce15c122
|
|
| MD5 |
1ee6f835bc5b35adbdf42be062733aab
|
|
| BLAKE2b-256 |
a1a2f5c2f91bddb2d568edfcdc61e88ec4555df28153f290db3b08c42707d238
|