# 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 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. Problem/solution pairs are generated with either: * `mathgenerator.()` - 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 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) | 9x + 5 = 9 | 4/9 | basic_algebra | `maxVariable=10` | | 12 | [Logarithm](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/log.py) | log2(32) | 5 | 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) | 0 * [[8, 10], [1, 10]] = | [[0,0],[0,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) | (8,-9),(20,-14)= | (14.0,-11.5) | midpoint_of_two_points | `maxValue=20` | | 21 | [Factoring Quadratic](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/factoring.py) | x^2+x-30 | (x-5)(x+6) | 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) | 10x - 10y = -10, 6x + 7y = 98 | x = 7, y = 8 | 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 (-10, 11) and (-2, 19) | sqrt(128) | distance_two_points | `maxValXY=20` `minValXY=-20` | | 26 | [Linear Equations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/linear_equations.py) | 5x + -11y = -44, 14x + 12y = -166 | x = -11, y = -1 | 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 = -9x - 9 and y = -6/3x + 2 | (-11/7, 36/7) | 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) | [6, -20, 10] X [-13, 12, -19] = | [260, -16, -188] | 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 3854 dollars, 2% rate of interest and for a time period of 3 years is = | 231.24 | 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
8-9-8
285
-6-67
and
-835
-10-4-1
-1010-6
|
106-2097
-14624-28
3876-66
| 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 78x^2+156x+38=0 | [-0.28, -1.72] | quadratic_equation | `maxVal=100` | | 65 | [Multiplication of 2 complex numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/multiply_complex_numbers.py) | (-2-13j) * (-15-11j) = | (-113+217j) | 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) | [-4, 7, -3] . [-10, 9, -16] = | 151 | 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([[5, 89, 34], [43, 21, 47], [3, 86, 7]]) is: | Matrix([[-779/17975, 2301/89875, 3469/89875], [-32/17975, -67/89875, 1227/89875], [727/17975, -163/89875, -3722/89875]]) | 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([[77, 20], [68, 89]]) = | 5493 | 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 8503 dollars, 10% rate of interest and for a time period of 10 year is = | 22054.59 | 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 5x^2 + 8x + 2 = 0 | simplified solution : ((-0.31, -1.29)), generalized solution : ((-8 + sqrt(24))/2*5, (-8 - sqrt(24))/2*5) | 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) | 1x^5 + 10x^1 + 2x^1 + 3x^2 + 5x^1 + 4x^2 + 2x^3 | 17x^1 + 7x^2 + 2x^3 + 1x^5 | 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) | (7x-2)(+6x-3) | 42*x^2-33*x+6 | 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) | 14+15= | 29 | addition | `maxSum=99` `maxAddend=50` | | 1 | [Subtraction](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/subtraction.py) | 55-55= | 0 | subtraction | `maxMinuend=99` `maxDiff=99` | | 2 | [Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/multiplication.py) | 2*11= | 22 | multiplication | `maxMulti=12` | | 3 | [Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/division.py) | 156/12= | 13 | division | `maxA=25` `maxB=25` | | 6 | [Square Root](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/square_root.py) | sqrt(9)= | 3 | square_root | `minNo=1` `maxNo=12` | | 8 | [Square](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/square.py) | 8^2= | 64 | square | `maxSquareNum=20` | | 13 | [Fraction to Decimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/fraction_to_decimal.py) | 32/35= | 0.91 | fraction_to_decimal | `maxRes=99` `maxDivid=99` | | 16 | [Fraction Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/divide_fractions.py) | (9/10)/(10/4) | 9/25 | divide_fractions | `maxVal=10` | | 28 | [Fraction Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/fraction_multiplication.py) | (10/4)*(1/2) | 5/4 | fraction_multiplication | `maxVal=10` | | 31 | [Factorial](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/factorial.py) | 5! = | 120 | 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 7/6 and 1/5? | > | 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 648 up to 2 decimal places? | 8.65 | cube_root | `minNo=1` `maxNo=1000` | | 53 | [Exponentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/exponentiation.py) | 7^9 = | 40353607 | 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) | |-96--27|= | 69 | 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 61% of 38? | 23.18 | percentage | `maxValue=99` `maxpercentage=99` | | 90 | [isprime](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/is_prime.py) | Is 40 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 2^9^4= | 2^36 | 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 160 and 190? | 17.14% | 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 27 and exact value equals 82. | 67.07% | 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(850468745,474001818)= | 1 | greatest_common_divisor | `numbersCount=2` `maximalNumberLimit=10**9` | | 124 | [Is Composite](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/is_composite.py) | Is 231 composite? | Yes | is_composite | `maxNum=250` | ## 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) | 8x^4 + 7x^8 | 32x^3 + 56x^7 | 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) | 5x^5 + 3x^7 + 7x^8 + 8x^6 | (5/5)x^6 + (3/7)x^8 + (7/8)x^9 + (8/6)x^7 + 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(sec(x)+7*x^2)/dx | 14*x + tan(x)*sec(x) | 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 10x^2 + 70x + 10 is = | 48.3333 | definite_integral | `max_coeff=100` | | 110 | [Stationary Points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/stationary_points.py) | f(x)=7*x^3 + 2*x | | 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) | 1000= | 0111 | binary_complement_1s | `maxDigits=10` | | 5 | [Modulo Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/modulo_division.py) | 25%15= | 10 | 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 72= | 1001000 | 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) | 1 | 1 | 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 11 numbers is ? | [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55] | 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 85th Fibonacci number? | 259695496911123328 | nth_fibonacci_number | `maxN=100` | | 64 | [Binary to Hexidecimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_to_hex.py) | 001 | 0x1 | 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 1011011001 = | 100100111 | 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 545= | 0x221 | 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 470 in Octal is: | 0o726 | 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 6 is = | 25205 | 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 4491 is = | 11811 | 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: 6 20 22 = | 58.79 | 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 38, 28 and 27 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 14 and 63 = | 103 | 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 9 and 4 = | 9.85 | 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 11 sides | 147.27 | 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 = 8m is | 384 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 = 1m, 15m, 11m is | 382 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 = 3m and radius = 17m is | 2136 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 = 9m is | 729 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 = 10m, 12m, 9m is | 1080 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 = 4m and radius = 15m is | 2827 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 = 26m and radius = 15m is | 2121 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 = 31m and radius = 7m is | 1590 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 39 , 151, 137 = | 33 | 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 5 sides = | 540 | 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 = 19m is | 4536.459791783661 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 92 m = | 3261760.666984705 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 [497.44, 781.23, 668.33, 665.31, 359.43, 287.08, 844.18, 596.49, 367.01, 674.44, 524.18, 217.7, 698.12] and [909.53, 70.04, 869.99, 53.15, 508.12, 404.16, 470.25, 955.48, 868.15, 987.99, 480.44, 354.16, 742.91] is: | 0.58 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, 28 and angle, 255. Find the area of the sector. | Area of sector = 1744.63112 | 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 47 in radians is = | 0.82 | 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 0 in degrees is = | 0.0 | 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, 23 and height, 27? | CSA of cylinder = 3901.86 | 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 10 sided polygon with lengths of [58, 17, 71, 60, 116, 104, 35, 71, 105, 116]cm is: | 753 | 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 15 | 94.24777960769379 | circumference | `maxRadius=100` | | 108 | [Arc length of Angle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/arc_length.py) | Given radius, 37 and angle, 201. Find the arc length of the angle. | Arc length of the angle = 129.80014 | 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 91 | 26026.0 | 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 = 40m and r1 = 6m is and r2 = 6m is | 21404.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 (10,4) and (14,15) in slope-intercept form? | 4y = 11x -94 | 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 (10,7) and passing through (14.86, 14.57) is | 254.47 | 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 39 m = | 124237.423 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 = 15 m, base width = 13 m and height = 37 m is | 2405.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 = 40m, base width = 40m, and height = 16m | 2560 m^2 | surface_area_pyramid | `unit='m'` | | 125 | [Complementary and Supplementary Angle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/complementary_and_supplementary_angle.py) | The supplementary angle of 60 = | 120 | complementary_and_supplementary_angle | `maxSupp=180` `maxComp=90` | ## 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 8 and 17 = | 136 | lcm | `maxVal=20` | | 10 | [GCD (Greatest Common Denominator)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/gcd.py) | GCD of 12 and 6 = | 6 | gcd | `maxVal=20` | | 27 | [Prime Factorisation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/prime_factors.py) | Find prime factors of 151 | [151] | 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 8 and 95 = | [1] | common_factors | `maxVal=100` | | 51 | [HCF (Highest Common Factor)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/hcf.py) | HCF of 16 and 3 = | 1 | hcf | `maxVal=20` | | 55 | [Comparing surds](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/surds_comparison.py) | Fill in the blanks 84^(1/6) _ 97^(1/1) | < | 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 = 258 and SP = 601 is: | 132.9457364341085 | 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, 14, 28, 56, 112, 224] ,Find the value of a,common ratio,7th term value, sum upto 11th term | The value of a is 7, common ratio is 2 , 7th term is 448 , sum upto 11th term is 14329.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 2 numbers 58 and 61 = | (58*61)^(1/2) = 59.481089431852205 | 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 3 numbers 65 , 98 and 30 = | 3/((1/65) + (1/98) + (1/30)) = 50.91474245115453 | 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[666.3121024557763, 339.3827343783811, 598.1073078463166, 514.5857680685369, 604.2767600509419, 642.5534920836018, 452.63625705604005, 833.1252882301409] is: | 1690.7649282758944 | euclidian_norm | `maxEltAmt=20` | | 81 | [Celsius To Fahrenheit](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/celsius_to_fahrenheit.py) | Convert 76 degrees Celsius to degrees Fahrenheit = | 168.8 | 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 37 of the AP series: -100, -61, -22 ... | 1304 | 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 28 terms of the AP series: 81, 64, 47 ... | -4158.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: | XIII | 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) | 18.6(11.0theta + i15.0theta) | 0.94 | 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={9, 2, 3, 1} ,b={8, 6}.Find the Union,intersection,a-b,b-a and symmetric difference | Union is {1, 2, 3, 6, 8, 9},Intersection is set(), a-b is {9, 2, 3, 1},b-a is {8, 6}, Symmetric difference is {1, 2, 3, 6, 8, 9} | 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 D6E8 from base 16 to base 10. | 55016 | 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 46^9 and 46^1 = 46^(9-1) = 46^8 | 20047612231936 | 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 1^8 and 21^8 = (1/21)^8 = 0.047619047619047616^8 | 2.643903757924558e-11 | 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 1942 | 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 20 minutes to Hours & Minutes | 0 hours and 20 minutes | minutes_to_hours | `maxMinutes=999` | | 106 | [signum function](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/signum_function.py) | signum of -217 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, 34.16% 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 9 rejected pistons? | 99.98 | binomial_distribution | `` | | 116 | [Factors of a number](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/factors.py) | Factors of 513 = | [1, 3, 9, 19, 27, 57, 171, 513] | factors | `maxVal=1000` | | 121 | [Product of scientific notations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/product_of_scientific_notations.py) | Product of scientific notations 2.39x10^78 and 9.75x10^44 = | 2.33x10^123 | 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 13 objects picked 9 at a time | 715 | combinations | `maxlength=20` | | 42 | [Permutations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/permutation.py) | Number of Permutations from 11 objects picked 3 at a time = | 990 | 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 4 = | 3/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 [254, 295, 271, 281, 218, 270, 242, 274, 247, 202, 253, 226, 237, 296, 286, 214, 215, 240, 248, 283, 290, 205, 230, 251, 224, 227] with 90% confidence is | (258.3421056762939, 240.04250970832146) | 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[21, 49, 37, 16, 24, 23, 18, 38, 50, 40, 13, 7, 29, 46, 41] | The Mean is 30.133333333333333 , Standard Deviation is 178.38222222222223, Variance is 13.35598076601723 | 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 [4, 5, 20, 30, 32, 42, 52, 56, 71, 86]. find the arithmatic mean and mdian of the series | Arithmetic mean of the series is 39.8 and Arithmetic median of this series is 37.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 1.84% of population have. Test sensitivity (true positive) is equal to SN= 95.07% whereas test specificity (true negative) SP= 95.68%. What is the probability that this guy really has that disease? | 29.2% | conditional_probability | `` |