mirror of
https://github.com/DeaDvey/mathgenerator.git
synced 2025-11-28 06:25:23 +01:00
220 lines
35 KiB
Markdown
220 lines
35 KiB
Markdown
# mathgenerator
|
|
|
|
A math problem generator, created for the purpose of giving teachers and students the means to easily get access to random math exercises to suit their needs.
|
|
|
|
To try out generators, go to <https://lukew3.github.io/mathgenerator>
|
|
|
|
See [CONTRIBUTING.md](https://github.com/lukew3/mathgenerator/blob/main/CONTRIBUTING.md) for information about how to contribute.
|
|
|
|
## Table of Contents
|
|
* [Installation](#installation)
|
|
* [Usage](#usage)
|
|
* [List of Generators](#list-of-generators)
|
|
* [algebra](#algebra)
|
|
* [basic_math](#basic_math)
|
|
* [calculus](#calculus)
|
|
* [computer_science](#computer_science)
|
|
* [geometry](#geometry)
|
|
* [misc](#misc)
|
|
* [statistics](#statistics)
|
|
|
|
## Installation
|
|
|
|
The project can be install via pip
|
|
|
|
```bash
|
|
pip install mathgenerator
|
|
```
|
|
|
|
## Usage
|
|
Here is an example of how you would generate an addition problem:
|
|
|
|
```python
|
|
import mathgenerator
|
|
|
|
#generate an addition problem
|
|
problem, solution = mathgenerator.addition()
|
|
|
|
#another way to generate an addition problem using genById()
|
|
problem, solution = mathgenerator.genById(0)
|
|
```
|
|
You may prefer to use `import mathgenerator as mg` and run functions like `mg.addition()` so that you don't have to type as much.
|
|
<!--
|
|
### Creating a worksheet
|
|
If you wish to create a worksheet, you can use the [worksheetgen](https://github.com/lukew3/worksheetgen) package. Install this with `pip install worksheetgen`. Here is an example of how a worksheet would be generated.
|
|
```
|
|
from mathgenerator import mathgen
|
|
from worksheetgen.wg import Worksheet
|
|
|
|
ws = Worksheet("Worksheet title")
|
|
with ws.section('Section 1', description='These are instructions')
|
|
# Writes 10 problems generated with id 1, [0] at the end specifies to take problem, and not solution.
|
|
for _ in range(10):
|
|
ws.add_problem(mathgen.genById(1)[0])
|
|
ws.write_pdf()
|
|
```
|
|
This creates the pdf `ws.pdf` in your current directory
|
|
-->
|
|
Problem/solution pairs are generated with either:
|
|
* `mathgenerator.<generator_name>()` - generates a problem, solution set from the given generator name.
|
|
* `mathgenerator.genById(id)` - generates a problem, solution set with generator id provided by the `id` parameter
|
|
|
|
<!--
|
|
#### `format` kwarg
|
|
* Pass `format=latex` to return problem and solution set as latex. If latex is not available for that generator, the problem will return the string "Latex unavailable"
|
|
* Pass `format=raw` to return just the raw data for each generator. An array of each variable necessary to the generator is returned.
|
|
* If you don't pass a value to the format kwarg, the generator will return a problem and answer in asciimath format.
|
|
-->
|
|
You can also use `getGenList()` to return a list of all generators included in the library in the format:
|
|
```
|
|
[id, title, self, funcname, subjectname]
|
|
```
|
|
|
|
|
|
## List of Generators
|
|
## algebra
|
|
| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
|
|
|------|-------|-----------------|------------------|---------------|--------|
|
|
| 11 | [Basic Algebra](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/basic_algebra.py) | 7x + 1 = 6 | 5/7 | basic_algebra | `maxVariable=10` |
|
|
| 12 | [Logarithm](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/log.py) | log2(16) | 4 | log | `maxBase=3` `maxVal=8` |
|
|
| 17 | [Integer Multiplication with 2x2 Matrix](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/multiply_int_to_22_matrix.py) | 5 * [[0, 4], [3, 0]] = | [[0,20],[15,0]] | multiply_int_to_22_matrix | `maxMatrixVal=10` `maxRes=100` |
|
|
| 20 | [Midpoint of the two point](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/midpoint_of_two_points.py) | (3,-13),(-6,5)= | (-1.5,-4.0) | midpoint_of_two_points | `maxValue=20` |
|
|
| 21 | [Factoring Quadratic](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/factoring.py) | x^2+2x-48 | (x-6)(x+8) | factoring | `range_x1=10` `range_x2=10` |
|
|
| 23 | [Solve a System of Equations in R^2](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/system_of_equations.py) | 5x + 2y = -9, -10x - y = -3 | x = 1, y = -7 | system_of_equations | `range_x=10` `range_y=10` `coeff_mult_range=10` |
|
|
| 24 | [Distance between 2 points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/distance_two_points.py) | Find the distance between (4, 18) and (-9, 4) | sqrt(365) | distance_two_points | `maxValXY=20` `minValXY=-20` |
|
|
| 26 | [Linear Equations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/linear_equations.py) | -18x + 11y = 445, 12x + -8y = -304 | x = -18, y = 11 | linear_equations | `n=2` `varRange=20` `coeffRange=20` |
|
|
| 41 | [Intersection of Two Lines](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/intersection_of_two_lines.py) | Find the point of intersection of the two lines: y = -x + 1 and y = -1/6x + 1 | (0, 1) | intersection_of_two_lines | `minM=-10` `maxM=10` `minB=-10` `maxB=10` `minDenominator=1` `maxDenominator=6` |
|
|
| 43 | [Cross Product of 2 Vectors](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/vector_cross.py) | [9, 6, -6] X [-1, -4, -3] = | [-42, 33, -30] | vector_cross | `minVal=-20` `maxVal=20` |
|
|
| 45 | [Simple Interest](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/simple_interest.py) | Simple interest for a principle amount of 5981 dollars, 9% rate of interest and for a time period of 4 years is = | 2153.16 | simple_interest | `maxPrinciple=10000` `maxRate=10` `maxTime=10` |
|
|
| 46 | [Multiplication of two matrices](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/matrix_multiplication.py) | Multiply<table><tr><td>5</td><td>-3</td><td>-2</td></tr><tr><td>3</td><td>-7</td><td>2</td></tr><tr><td>-1</td><td>6</td><td>0</td></tr></table>and<table><tr><td>-9</td><td>0</td></tr><tr><td>9</td><td>3</td></tr><tr><td>-7</td><td>3</td></tr></table> | <table><tr><td>-58</td><td>-15</td></tr><tr><td>-104</td><td>-15</td></tr><tr><td>63</td><td>18</td></tr></table> | matrix_multiplication | `maxVal=100` `max_dim=10` |
|
|
| 50 | [Quadratic Equation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/quadratic_equation.py) | Zeros of the Quadratic Equation 47x^2+185x+57=0 | [-0.34, -3.6] | quadratic_equation | `maxVal=100` |
|
|
| 65 | [Multiplication of 2 complex numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/multiply_complex_numbers.py) | (8+0j) * (3-16j) = | (24-128j) | multiply_complex_numbers | `minRealImaginaryNum=-20` `maxRealImaginaryNum=20` |
|
|
| 72 | [Dot Product of 2 Vectors](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/vector_dot.py) | [20, 15, -19] . [2, 6, 19] = | -231 | vector_dot | `minVal=-20` `maxVal=20` |
|
|
| 74 | [Inverse of a Matrix](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/invert_matrix.py) | Inverse of Matrix Matrix([[53, 37, 10], [19, 33, 67], [29, 74, 73]]) is: | Matrix([[2549/110035, 1961/110035, -2149/110035], [-556/110035, -3579/110035, 3361/110035], [-449/110035, 2849/110035, -1046/110035]]) | invert_matrix | `SquareMatrixDimension=3` `MaxMatrixElement=99` `OnlyIntegerElementsInInvertedMatrix=False` |
|
|
| 77 | [Determinant to 2x2 Matrix](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/int_matrix_22_determinant.py) | Det([[55, 18], [12, 62]]) = | 3194 | int_matrix_22_determinant | `maxMatrixVal=100` |
|
|
| 78 | [Compound Interest](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/compound_interest.py) | Compound interest for a principle amount of 8346 dollars, 1% rate of interest and for a time period of 5 year is = | 8771.73 | compound_interest | `maxPrinciple=10000` `maxRate=10` `maxTime=10` |
|
|
| 100 | [complex Quadratic Equation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/complex_quadratic.py) | Find the roots of given Quadratic Equation 7x^2 + 8x + 1 = 0 | simplified solution : ((-0.143, -1.0)), generalized solution : ((-8 + 6)/2*7, (-8 - 6)/2*7) | complex_quadratic | `prob_type=0` `max_range=10` |
|
|
| 105 | [Combine Like terms](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/combine_like_terms.py) | 5x^1 + 10x^2 | 5x^1 + 10x^2 | combine_like_terms | `maxCoef=10` `maxExp=20` `maxTerms=10` |
|
|
| 111 | [Expanding Factored Binomial](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/expanding.py) | (-9x+3)(-5x+10) | 45*x^2-105*x+30 | expanding | `range_x1=10` `range_x2=10` `range_a=10` `range_b=10` |
|
|
## basic_math
|
|
| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
|
|
|------|-------|-----------------|------------------|---------------|--------|
|
|
| 0 | [Addition](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/addition.py) | \(25+2\) | 27 | addition | `maxSum=99` `maxAddend=50` |
|
|
| 1 | [Subtraction](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/subtraction.py) | 40-4= | 36 | subtraction | `maxMinuend=99` `maxDiff=99` |
|
|
| 2 | [Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/multiplication.py) | 7*0= | 0 | multiplication | `maxMulti=12` |
|
|
| 3 | [Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/division.py) | 165/15= | 11 | division | `maxA=25` `maxB=25` |
|
|
| 6 | [Square Root](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/square_root.py) | sqrt(25)= | 5 | square_root | `minNo=1` `maxNo=12` |
|
|
| 8 | [Square](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/square.py) | 18^2= | 324 | square | `maxSquareNum=20` |
|
|
| 13 | [Complex Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/complex_division.py) | 10/10= | 1.0 | complex_division | `maxRes=99` `maxDivid=99` |
|
|
| 16 | [Fraction Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/divide_fractions.py) | (8/9)/(1/2) | 16/9 | divide_fractions | `maxVal=10` |
|
|
| 28 | [Fraction Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/fraction_multiplication.py) | (4/10)*(2/4) | 1/5 | fraction_multiplication | `maxVal=10` |
|
|
| 31 | [Factorial](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/factorial.py) | 2! = | 2 | factorial | `maxInput=6` |
|
|
| 44 | [Compare Fractions](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/compare_fractions.py) | Which symbol represents the comparison between 8/3 and 3/7? | > | compare_fractions | `maxVal=10` |
|
|
| 47 | [Cube Root](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/cube_root.py) | What is the cube root of 962 up to 2 decimal places? | 9.87 | cube_root | `minNo=1` `maxNo=1000` |
|
|
| 53 | [Exponentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/exponentiation.py) | 20^8 = | 25600000000 | exponentiation | `maxBase=20` `maxExpo=10` |
|
|
| 71 | [Absolute difference between two numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/absolute_difference.py) | |3--65|= | 68 | absolute_difference | `maxA=100` `maxB=100` |
|
|
| 80 | [Percentage of a number](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/percentage.py) | What is 16% of 57? | 9.12 | percentage | `maxValue=99` `maxpercentage=99` |
|
|
| 90 | [isprime](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/is_prime.py) | Is 84 prime? | No | is_prime | `max_num=100` |
|
|
| 97 | [Power of Powers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/power_of_powers.py) | Simplify 21^2^1= | 21^2 | power_of_powers | `maxBase=50` `maxPower=10` |
|
|
| 118 | [Percentage difference](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/percentage_difference.py) | What is the percentage difference between 172 and 6? | 186.52% | percentage_difference | `maxValue=200` `minValue=0` |
|
|
| 119 | [Percentage error](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/percentage_error.py) | Find the percentage error when observed value equals -74 and exact value equals -30. | 146.67% | percentage_error | `maxValue=100` `minValue=-100` |
|
|
| 120 | [Greatest Common Divisor of N Numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/greatest_common_divisor.py) | GCD(29525945,314084311)= | 1 | greatest_common_divisor | `numbersCount=2` `maximalNumberLimit=10**9` |
|
|
## calculus
|
|
| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
|
|
|------|-------|-----------------|------------------|---------------|--------|
|
|
| 7 | [Power Rule Differentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/power_rule_differentiation.py) | 9x^9 + 6x^5 | 81x^8 + 30x^4 | power_rule_differentiation | `maxCoef=10` `maxExp=10` `maxTerms=5` |
|
|
| 48 | [Power Rule Integration](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/power_rule_integration.py) | 3x^10 + 2x^10 | (3/10)x^11 + (2/10)x^11 + c | power_rule_integration | `maxCoef=10` `maxExp=10` `maxTerms=5` |
|
|
| 88 | [Differentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/differentiation.py) | differentiate w.r.t x : d(tan(x)+3*x^3)/dx | 9*x^2 + tan(x)^2 + 1 | differentiation | `diff_lvl=2` |
|
|
| 89 | [Definite Integral of Quadratic Equation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/definite_integral.py) | The definite integral within limits 0 to 1 of the equation 91x^2 + 24x + 10 is = | 52.3333 | definite_integral | `max_coeff=100` |
|
|
| 110 | [Stationary Points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/stationary_points.py) | f(x)=10*x^3 + 10*x^2 + 2*x + 6 | (-1/3 - sqrt(10)/15,10*(-1/3 - sqrt(10)/15)**3 - 2*sqrt(10)/15 + 10*(-1/3 - sqrt(10)/15)**2 + 16/3),(-1/3 + sqrt(10)/15,10*(-1/3 + sqrt(10)/15)**3 + 10*(-1/3 + sqrt(10)/15)**2 + 2*sqrt(10)/15 + 16/3) | stationary_points | `maxExp=3` `maxCoef=10` |
|
|
## computer_science
|
|
| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
|
|
|------|-------|-----------------|------------------|---------------|--------|
|
|
| 4 | [Binary Complement 1s](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_complement_1s.py) | 0110= | 1001 | binary_complement_1s | `maxDigits=10` |
|
|
| 5 | [Modulo Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/modulo_division.py) | 82%80= | 2 | modulo_division | `maxRes=99` `maxModulo=99` |
|
|
| 14 | [Decimal to Binary](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/decimal_to_binary.py) | Binary of 82= | 1010010 | decimal_to_binary | `max_dec=99` |
|
|
| 15 | [Binary to Decimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_to_decimal.py) | 1010 | 10 | binary_to_decimal | `max_dig=10` |
|
|
| 56 | [Fibonacci Series](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/fibonacci_series.py) | The Fibonacci Series of the first 3 numbers is ? | [0, 1, 1] | fibonacci_series | `minNo=1` |
|
|
| 62 | [nth Fibonacci number](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/nth_fibonacci_number.py) | What is the 31th Fibonacci number? | 1346269 | nth_fibonacci_number | `maxN=100` |
|
|
| 64 | [Binary to Hexidecimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_to_hex.py) | 00 | 0x0 | binary_to_hex | `max_dig=10` |
|
|
| 73 | [Binary 2's Complement](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_2s_complement.py) | 2's complement of 1011111 = | 100001 | binary_2s_complement | `maxDigits=10` |
|
|
| 79 | [Decimal to Hexadecimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/decimal_to_hexadeci.py) | Binary of 595= | 0x253 | decimal_to_hexadeci | `max_dec=1000` |
|
|
| 84 | [Converts decimal to octal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/decimal_to_octal.py) | The decimal number 3335 in Octal is: | 0o6407 | decimal_to_octal | `maxDecimal=4096` |
|
|
| 91 | [Binary Coded Decimal to Integer](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/bcd_to_decimal.py) | Integer of Binary Coded Decimal 2 is = | 8295 | bcd_to_decimal | `maxNumber=10000` |
|
|
| 103 | [Decimal to Binary Coded Decimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/decimal_to_bcd.py) | BCD of Decimal Number 3270 is = | 12126 | decimal_to_bcd | `maxNumber=10000` |
|
|
## geometry
|
|
| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
|
|
|------|-------|-----------------|------------------|---------------|--------|
|
|
| 18 | [Area of Triangle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/area_of_triangle.py) | Area of triangle with side lengths: 16 18 7 = | 55.8 | area_of_triangle | `maxA=20` `maxB=20` |
|
|
| 19 | [Triangle exists check](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/valid_triangle.py) | Does triangle with sides 43, 29 and 45 exist? | Yes | valid_triangle | `maxSideLength=50` |
|
|
| 22 | [Third Angle of Triangle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/third_angle_of_triangle.py) | Third angle of triangle with angles 74 and 56 = | 50 | third_angle_of_triangle | `maxAngle=89` |
|
|
| 25 | [Pythagorean Theorem](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/pythagorean_theorem.py) | The hypotenuse of a right triangle given the other two lengths 12 and 13 = | 17.69 | pythagorean_theorem | `maxLength=20` |
|
|
| 29 | [Angle of a Regular Polygon](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/angle_regular_polygon.py) | Find the angle of a regular polygon with 6 sides | 120.0 | angle_regular_polygon | `minVal=3` `maxVal=20` |
|
|
| 32 | [Surface Area of Cube](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_cube.py) | Surface area of cube with side = 14m is | 1176 m^2 | surface_area_cube | `maxSide=20` `unit='m'` |
|
|
| 33 | [Surface Area of Cuboid](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_cuboid.py) | Surface area of cuboid with sides = 2m, 20m, 15m is | 740 m^2 | surface_area_cuboid | `maxSide=20` `unit='m'` |
|
|
| 34 | [Surface Area of Cylinder](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_cylinder.py) | Surface area of cylinder with height = 5m and radius = 20m is | 3141 m^2 | surface_area_cylinder | `maxRadius=20` `maxHeight=50` `unit='m'` |
|
|
| 35 | [Volume of Cube](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cube.py) | Volume of cube with side = 3m is | 27 m^3 | volume_cube | `maxSide=20` `unit='m'` |
|
|
| 36 | [Volume of Cuboid](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cuboid.py) | Volume of cuboid with sides = 2m, 7m, 13m is | 182 m^3 | volume_cuboid | `maxSide=20` `unit='m'` |
|
|
| 37 | [Volume of cylinder](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cylinder.py) | Volume of cylinder with height = 49m and radius = 9m is | 12468 m^3 | volume_cylinder | `maxRadius=20` `maxHeight=50` `unit='m'` |
|
|
| 38 | [Surface Area of cone](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_cone.py) | Surface area of cone with height = 44m and radius = 7m is | 1133 m^2 | surface_area_cone | `maxRadius=20` `maxHeight=50` `unit='m'` |
|
|
| 39 | [Volume of cone](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_cone.py) | Volume of cone with height = 5m and radius = 12m is | 753 m^3 | volume_cone | `maxRadius=20` `maxHeight=50` `unit='m'` |
|
|
| 49 | [Fourth Angle of Quadrilateral](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/fourth_angle_of_quadrilateral.py) | Fourth angle of quadrilateral with angles 42 , 126, 95 = | 97 | fourth_angle_of_quadrilateral | `maxAngle=180` |
|
|
| 57 | [Trigonometric Values](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/basic_trigonometry.py) | What is tan(45)? | 1 | basic_trigonometry | `angles=[0, 30, 45, 60, 90]` `functions=['sin', 'cos', 'tan']` |
|
|
| 58 | [Sum of Angles of Polygon](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/sum_of_polygon_angles.py) | Sum of angles of polygon with 9 sides = | 1260 | sum_of_polygon_angles | `maxSides=12` |
|
|
| 60 | [Surface Area of Sphere](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_sphere.py) | Surface area of Sphere with radius = 5m is | 314.1592653589793 m^2 | surface_area_sphere | `maxSide=20` `unit='m'` |
|
|
| 61 | [Volume of Sphere](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_sphere.py) | Volume of sphere with radius 24 m = | 57905.83579096706 m^3 | volume_sphere | `maxRadius=100` |
|
|
| 70 | [Angle between 2 vectors](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/angle_btw_vectors.py) | angle between the vectors [501.77, 761.2, 553.5, 411.41, 87.99, 695.99] and [329.3, 902.75, 451.75, 94.17, 457.01, 550.07] is: | 0.43 radians | angle_btw_vectors | `maxEltAmt=20` |
|
|
| 75 | [Area of a Sector](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/sector_area.py) | Given radius, 41 and angle, 214. Find the area of the sector. | Area of sector = 3139.27137 | sector_area | `maxRadius=49` `maxAngle=359` |
|
|
| 86 | [Degrees to Radians](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/degree_to_rad.py) | Angle 18 in radians is = | 0.31 | degree_to_rad | `max_deg=360` |
|
|
| 87 | [Radians to Degrees](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/radian_to_deg.py) | Angle 3 in degrees is = | 171.89 | radian_to_deg | `max_rad=3` |
|
|
| 95 | [Curved surface area of a cylinder](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/curved_surface_area_cylinder.py) | What is the curved surface area of a cylinder of radius, 19 and height, 22? | CSA of cylinder = 2626.37 | curved_surface_area_cylinder | `maxRadius=49` `maxHeight=99` |
|
|
| 96 | [Perimeter of Polygons](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/perimeter_of_polygons.py) | The perimeter of a 5 sided polygon with lengths of [85, 11, 110, 91, 52]cm is: | 349 | perimeter_of_polygons | `maxSides=12` `maxLength=120` |
|
|
| 104 | [Circumference](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/circumference.py) | Circumference of circle with radius 85 | 534.0707511102648 | circumference | `maxRadius=100` |
|
|
| 108 | [Arc length of Angle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/arc_length.py) | Given radius, 49 and angle, 152. Find the arc length of the angle. | Arc length of the angle = 129.99212 | arc_length | `maxRadius=49` `maxAngle=359` |
|
|
| 112 | [Area of Circle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/area_of_circle.py) | Area of circle with radius 38 | 4538.285714285715 | area_of_circle | `maxRadius=100` |
|
|
| 113 | [Volume of frustum](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_frustum.py) | Volume of frustum with height = 29m and r1 = 6m is and r2 = 6m is | 16885.0 m^3 | volume_frustum | `maxR1=20` `maxR2=20` `maxHeight=50` `unit='m'` |
|
|
| 114 | [Equation of line from two points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/equation_of_line_from_two_points.py) | What is the equation of the line between points (2,19) and (-10,13) in slope-intercept form? | 2y = x + 36 | equation_of_line_from_two_points | `maxCoordinate=20` `minCoordinate=-20` |
|
|
| 115 | [Area of Circle given center and a point on circle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/area_of_circle_given_center_and_point.py) | Area of circle with center (4,4) and passing through (4.0, 4.0) is | 0.0 | area_of_circle_given_center_and_point | `maxCoordinate = 10` `maxRadius=10` |
|
|
| 117 | [Volume of Hemisphere](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_hemisphere.py) | Volume of hemisphere with radius 27 m = | 41223.979 m^3 | volume_hemisphere | `maxRadius=100` |
|
|
| 122 | [Volume of pyramid](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/volume_pyramid.py) | Volume of pyramid with base length = 5 m, base width = 16 m and height = 42 m is | 1120.0 m^3 | volume_pyramid | `maxLength=20` `maxWidth=20` `maxHeight=50` `unit='m'` |
|
|
| 123 | [Surface area of pyramid](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/surface_area_pyramid.py) | Surface area of pyramid with base length = 20m, base width = 50m, and height = 24m | 1870 m^2 | surface_area_pyramid | `unit='m'` |
|
|
## misc
|
|
| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
|
|
|------|-------|-----------------|------------------|---------------|--------|
|
|
| 9 | [LCM (Least Common Multiple)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/lcm.py) | LCM of 7 and 19 = | 133 | lcm | `maxVal=20` |
|
|
| 10 | [GCD (Greatest Common Denominator)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/gcd.py) | GCD of 16 and 11 = | 1 | gcd | `maxVal=20` |
|
|
| 27 | [Prime Factorisation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/prime_factors.py) | Find prime factors of 23 | [23] | prime_factors | `minVal=1` `maxVal=200` |
|
|
| 40 | [Common Factors](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/common_factors.py) | Common Factors of 34 and 20 = | [1, 2] | common_factors | `maxVal=100` |
|
|
| 51 | [HCF (Highest Common Factor)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/hcf.py) | HCF of 10 and 20 = | 10 | hcf | `maxVal=20` |
|
|
| 55 | [Comparing surds](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/surds_comparison.py) | Fill in the blanks 67^(1/4) _ 15^(1/5) | > | surds_comparison | `maxValue=100` `maxRoot=10` |
|
|
| 63 | [Profit or Loss Percent](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/profit_loss_percent.py) | Profit percent when CP = 116 and SP = 446 is: | 284.48275862068965 | profit_loss_percent | `maxCP=1000` `maxSP=1000` |
|
|
| 66 | [Geometric Progression](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/geometric_progression.py) | For the given GP [7, 77, 847, 9317, 102487, 1127357] ,Find the value of a,common ratio,9th term value, sum upto 6th term | The value of a is 7, common ratio is 11 , 9th term is 1500512167 , sum upto 6th term is 1240092.0 | geometric_progression | `number_values=6` `min_value=2` `max_value=12` `n_term=7` `sum_term=5` |
|
|
| 67 | [Geometric Mean of N Numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/geometric_mean.py) | Geometric mean of 3 numbers 24 , 17 and 8 = | (24*17*8)^(1/3) = 14.833719077064755 | geometric_mean | `maxValue=100` `maxNum=4` |
|
|
| 68 | [Harmonic Mean of N Numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/harmonic_mean.py) | Harmonic mean of 2 numbers 36 and 10 = | 2/((1/36) + (1/10)) = 15.65217391304348 | harmonic_mean | `maxValue=100` `maxNum=4` |
|
|
| 69 | [Euclidian norm or L2 norm of a vector](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/euclidian_norm.py) | Euclidian norm or L2 norm of the vector[662.188456830693, 258.9343100016411, 674.6373606909881, 145.42173783600865, 915.3419640001316, 532.3072720135815, 564.2351770581631, 108.13767884525704, 687.9402187703554, 874.3820025839659, 805.5736380024711, 941.7491419729342, 160.1472208023249, 174.14254996459778] is: | 2294.0573965748918 | euclidian_norm | `maxEltAmt=20` |
|
|
| 81 | [Celsius To Fahrenheit](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/celsius_to_fahrenheit.py) | Convert -25 degrees Celsius to degrees Fahrenheit = | -13.0 | celsius_to_fahrenheit | `maxTemp=100` |
|
|
| 82 | [AP Term Calculation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/arithmetic_progression_term.py) | Find the term number 79 of the AP series: 27, -42, -111 ... | -5355 | arithmetic_progression_term | `maxd=100` `maxa=100` `maxn=100` |
|
|
| 83 | [AP Sum Calculation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/arithmetic_progression_sum.py) | Find the sum of first 72 terms of the AP series: -93, -114, -135 ... | -60372.0 | arithmetic_progression_sum | `maxd=100` `maxa=100` `maxn=100` |
|
|
| 85 | [Converts decimal to Roman Numerals](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/decimal_to_roman_numerals.py) | The number 0 in Roman Numerals is: | MDXXXVI | decimal_to_roman_numerals | `maxDecimal=4000` |
|
|
| 92 | [Complex To Polar Form](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/complex_to_polar.py) | 8.54(-8.0theta + i-3.0theta) | -2.78 | complex_to_polar | `minRealImaginaryNum=-20, maxRealImaginaryNum=20` |
|
|
| 93 | [Union,Intersection,Difference of Two Sets](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/set_operation.py) | Given the two sets a={8, 9, 10, 7} ,b={3, 4, 5, 9, 10}.Find the Union,intersection,a-b,b-a and symmetric difference | Union is {3, 4, 5, 7, 8, 9, 10},Intersection is {9, 10}, a-b is {8, 7},b-a is {3, 4, 5}, Symmetric difference is {3, 4, 5, 7, 8} | set_operation | `minval=3` `maxval=7` `n_a=4` `n_b=5` |
|
|
| 94 | [Base Conversion](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/base_conversion.py) | Convert 46132 from base 9 to base 16. | 7808 | base_conversion | `maxNum=60000` `maxBase=16` |
|
|
| 98 | [Quotient of Powers with Same Base](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/quotient_of_power_same_base.py) | The Quotient of 19^5 and 19^8 = 19^(5-8) = 19^-3 | 0.0001457938474996355 | quotient_of_power_same_base | `maxBase=50` `maxPower=10` |
|
|
| 99 | [Quotient of Powers with Same Power](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/quotient_of_power_same_power.py) | The Quotient of 48^8 and 42^8 = (48/42)^8 = 1.1428571428571428^8 | 2.910285368046528 | quotient_of_power_same_power | `maxBase=50` `maxPower=10` |
|
|
| 101 | [Leap Year or Not](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/is_leap_year.py) | Year 1941 | is not a leap year | is_leap_year | `minNumber=1900` `maxNumber=2099` |
|
|
| 102 | [Minute to Hour conversion](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/minutes_to_hours.py) | Convert 735 minutes to Hours & Minutes | 12 hours and 15 minutes | minutes_to_hours | `maxMinutes=999` |
|
|
| 106 | [signum function](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/signum_function.py) | signum of 46 is = | 1 | signum_function | `min=-999` `max=999` |
|
|
| 109 | [Binomial distribution](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/binomial_distribution.py) | A manufacturer of metal pistons finds that, on average, 31.39% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of 11 pistons will contain no more than 2 rejected pistons? | 27.82 | binomial_distribution | `` |
|
|
| 116 | [Factors of a number](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/Factors.py) | Factors of 279 = | [1, 3, 9, 31, 93, 279] | Factors | `maxVal=1000` |
|
|
| 121 | [Product of scientific notaions](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/product_of_scientific_notations.py) | Product of scientific notations 5.18x10^48 and 5.01x10^16 = | 2.6x10^65 | product_of_scientific_notations | `minExpVal=-100` `maxExpVal=100` |
|
|
## statistics
|
|
| Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
|
|
|------|-------|-----------------|------------------|---------------|--------|
|
|
| 30 | [Combinations of Objects](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/combinations.py) | Number of combinations from 20 objects picked 7 at a time | 77520 | combinations | `maxlength=20` |
|
|
| 42 | [Permutations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/permutation.py) | Number of Permutations from 15 objects picked 6 at a time = | 3603600 | permutation | `maxlength=20` |
|
|
| 52 | [Probability of a certain sum appearing on faces of dice](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/dice_sum_probability.py) | If 2 dice are rolled at the same time, the probability of getting a sum of 2 = | 1/36 | dice_sum_probability | `maxDice=3` |
|
|
| 54 | [Confidence interval For sample S](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/confidence_interval.py) | The confidence interval for sample [272, 236, 244, 247, 251, 209, 214, 207, 238, 204, 254, 258, 215, 218, 285, 274, 220, 235, 212, 271, 241, 222, 201, 237, 233, 246, 229, 287, 253, 208, 242, 299, 245] with 99% confidence is | (250.97182391664583, 228.24029729547536) | confidence_interval | `` |
|
|
| 59 | [Mean,Standard Deviation,Variance](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/data_summary.py) | Find the mean,standard deviation and variance for the data[9, 26, 45, 37, 40, 13, 12, 18, 27, 5, 14, 25, 32, 28, 21] | The Mean is 23.466666666666665 , Standard Deviation is 130.11555555555555, Variance is 11.406820571726179 | data_summary | `number_values=15` `minval=5` `maxval=50` |
|
|
| 76 | [Mean and Median](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/mean_median.py) | Given the series of numbers [1, 4, 14, 21, 22, 30, 43, 44, 51, 63]. find the arithmatic mean and mdian of the series | Arithmetic mean of the series is 29.3 and Arithmetic median of this series is 26.0 | mean_median | `maxlen=10` |
|
|
| 107 | [Conditional Probability](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/conditional_probability.py) | Someone tested positive for a nasty disease which only 0.07% of population have. Test sensitivity (true positive) is equal to SN= 98.04% whereas test specificity (true negative) SP= 94.26%. What is the probability that this guy really has that disease? | 1.18% | conditional_probability | `` |
|