/math24

A script to solve Math24 problems - where the goal is to find the arithmetical operations to manipulate four numbers such that the result is 24.

Primary LanguagePythonMIT LicenseMIT

Math24 Solver

This repository contains a Python script designed to solve Math24 problems. Math24 is a challenging mathematical puzzle where four numbers must be used with basic arithmetic operations (addition, subtraction, multiplication, and division) to arrive at a result of 24.

Features

  • Support for Decimals and Fractions: The script can handle both decimal and fractional inputs.
  • Order of Operations: Solutions include parentheses to clearly indicate the order of operations.
  • Comprehensive Search: The script tries various permutations and combinations of the given numbers and arithmetic operations to find a valid solution.
  • Error Handling: The script gracefully handles impossible cases and mathematical errors (like division by zero).

Prerequisites

Ensure you have Python 3 installed on your system. The script uses the fractions module from the Python Standard Library, so no additional dependencies are required.

Usage

  1. Clone this repository to your local machine.

  2. Navigate to the directory containing the script.

  3. Run the script with Python and pass four numbers as arguments. For example:

    python3 solve_math24.py 3 3 8 8
  4. The script will output a solution if one is possible or indicate if no solution can be found.

Acknowledgments

  • This project was inspired by the classic Math24 game.
  • Initial implementation was inspired by randallreedjr/math24 written in Ruby.