Skip to content

JavaScript library for generating mathematical expressions that evaluate to a particular number

Notifications You must be signed in to change notification settings

bent0b0x/math-expression-generator

Repository files navigation

Math Expression Generator

CircleCI

JavaScript library to compute random arithmetic expressions (of configurable length) that evalute to a given number.

Usage

import { generateExpression } from "math-expression-generator";

const expression = generateExpression({
    target: 20,
    length: 2
});

console.log(expression); // [15, '+', 5]

const longExpression = generateExpression({
    target: 4828,
    length: 5
});

console.log(longExpression); // [ 2, '*', 13, '*', 10, '*', 1207, '/', 65 ]

Evaluate the expression

If you want to evaluate the returned expression (to verify it is correct, for example), you can use mathjs (but there are plenty of other library solutions out there):

import { generateExpression } from "math-expression-generator";
import math from "mathjs";

const expression = generateExpression({
    target: 20,
    length: 2
});

const result = math.eval(expression.join(" "));

console.log(result); // 20

Documentation

Generated with typedoc ❤️

Click to view docs

TypeScript Types

If you are using TypeScript in your own project, you can import some types from this library.

Expression: import Expression from 'math-expression-generator/types/Expression';

Expression docs

Operator: import Operator from 'math-expression-generator/types/Operator';

Operator docs