# mathgenerator A math problem generator, created for the purpose of giving self-studying students and teaching organizations the means to easily get access to random math problems 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) * [Basic Usage](#basic-usage) * [More Complicated Usage](#more-complicated-usage) * [Documentation](#documentation) * [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 ``` ## Basic Usage Here is an example of how you would generate an addition problem: ```python from mathgenerator import mathgen #generate an addition problem problem, solution = mathgen.addition() #another way to generate an addition problem using genById() problem, solution = mathgen.genById(0) ``` ### 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 ## Documentation * `getGenList()` returns a list of all generators in the repository in the format `[id, title, self, funcname, subjectname]` * `genById(id)` generates a problem, solution set with generator id `id` in the format `[problem, solution]` * Pass the kwarg `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 the kwarg `format=raw` to return just the raw data for each generator. An array of each variable necessary to the generator is returned. ## 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) | 5x + 5 = 7 | 2/5 | basic_algebra | `maxVariable=10` | | 12 | [Logarithm](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/log.py) | log3(6561) | 8 | 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) | 10 * [[10, 8], [9, 1]] = | [[100,80],[90,10]] | 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,12),(8,-12)= | (0.0,0.0) | midpoint_of_two_points | `maxValue=20` | | 21 | [Factoring Quadratic](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/factoring.py) | x^2-25 | (x+5)(x-5) | 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) | 4x + 9y = -38, 3x + 8y = -36 | x = 4, y = -6 | 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 (-3, 21) and (17, 3) | sqrt(724) | distance_two_points | `maxValXY=20` `minValXY=-20` | | 26 | [Linear Equations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/linear_equations.py) | 11x + -13y = -389, 16x + -11y = -463 | x = -20, y = 13 | 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 = 4/6x - 10 and y = 5x + 7 | (-51/13, -164/13) | 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) | [11, 8, 9] X [-20, 11, -12] = | [-195, -48, 281] | 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 9453 dollars, 6% rate of interest and for a time period of 6 years is = | 3403.08 | 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
-1-501
8-8109
-88-57
1-51-3
and
1-2
5-2
5-2
9-1
|
-1711
99-29
703
-469
| 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 38x^2+176x+57=0 | [-0.35, -4.28] | quadratic_equation | `maxVal=100` | | 65 | [Multiplication of 2 complex numbers](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/algebra/multiply_complex_numbers.py) | (13+14j) * (-20-11j) = | (-106-423j) | 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) | [0, 18, -7] . [-11, -12, 14] = | -314 | 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([[69, 83, 21], [13, 46, 72], [53, 24, 42]]) is: | Matrix([[17/20070, -497/40140, 167/8028], [109/8028, 119/16056, -313/16056], [-1063/120420, 2743/240840, 419/48168]]) | 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([[27, 0], [66, 78]]) = | 2106 | 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 9116 dollars, 6% rate of interest and for a time period of 7 year is = | 13707.09 | 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 2x^2 + 8x + 3 = 0 | simplified solution : ((-0.419, -3.581)), generalized solution : ((-8 + sqrt(40))/2*2, (-8 - sqrt(40))/2*2) | 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) | 8x^5 + 5x^2 + 2x^5 + 5x^2 + 9x^2 + 7x^6 + 1x^5 | 19x^2 + 11x^5 + 7x^6 | 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) | (-5x+10)(-5x-10) | 25*x^2*x-100 | 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) | 18+33= | 51 | addition | `maxSum=99` `maxAddend=50` | | 1 | [Subtraction](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/subtraction.py) | 51-4= | 47 | subtraction | `maxMinuend=99` `maxDiff=99` | | 2 | [Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/multiplication.py) | 5*9= | 45 | multiplication | `maxMulti=12` | | 3 | [Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/division.py) | 209/11= | 19 | 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) | 10^2= | 100 | square | `maxSquareNum=20` | | 13 | [Complex Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/complex_division.py) | 12/26= | 0.46 | complex_division | `maxRes=99` `maxDivid=99` | | 16 | [Fraction Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/divide_fractions.py) | (3/5)/(3/7) | 7/5 | divide_fractions | `maxVal=10` | | 28 | [Fraction Multiplication](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/fraction_multiplication.py) | (7/5)*(7/9) | 49/45 | fraction_multiplication | `maxVal=10` | | 31 | [Factorial](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/factorial.py) | 0! = | 1 | 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 6/3 and 2/4? | > | 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 194 up to 2 decimal places? | 5.79 | cube_root | `minNo=1` `maxNo=1000` | | 53 | [Exponentiation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/exponentiation.py) | 4^10 = | 1048576 | 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) | |-92--57|= | 35 | 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 14% of 14? | 1.96 | percentage | `maxValue=99` `maxpercentage=99` | | 90 | [isprime](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/basic_math/is_prime.py) | Is 51 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 6^10^8= | 6^80 | 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 53 and 90? | 51.75% | 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 33 and exact value equals 61. | 45.9% | 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(21465961,176654083)= | 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 8 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^1 + 5x^2 + 3x^6 + 1x^8 | 8x^0 + 10x^1 + 18x^5 + 8x^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) | 2x^7 + 2x^9 | (2/7)x^8 + (2/9)x^10 + 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(cos(x)+6*x^4)/dx | 24*x^3 - sin(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 70x^2 + 15x + 65 is = | 95.8333 | definite_integral | `max_coeff=100` | | 110 | [Stationary Points](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/calculus/stationary_points.py) | f(x)=4*x^2 + 8*x + 6 | (-1,2) | 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) | 0= | 1 | binary_complement_1s | `maxDigits=10` | | 5 | [Modulo Division](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/modulo_division.py) | 53%8= | 5 | 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 94= | 1011110 | 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) | 00 | 0 | 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 8 numbers is ? | [0, 1, 1, 2, 3, 5, 8, 13] | 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 69th Fibonacci number? | 117669030460994 | nth_fibonacci_number | `maxN=100` | | 64 | [Binary to Hexidecimal](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/computer_science/binary_to_hex.py) | 11011101 | 0xdd | 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 = | | 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 639= | 0x27f | 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 3882 in Octal is: | 0o7452 | 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 9 is = | 38983 | 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 3184 is = | 1270 | 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: 13 5 11 = | 26.89 | 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 19, 43 and 32 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 69 and 64 = | 47 | 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 2 and 12 = | 12.17 | 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 14 sides | 154.29 | 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 = 5m, 2m, 17m is | 258 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 = 8m and radius = 10m is | 1130 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 = 13m is | 2197 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 = 13m, 17m, 7m is | 1547 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 = 34m and radius = 3m is | 961 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 = 36m and radius = 20m is | 3844 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 = 37m and radius = 9m is | 3138 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 43 , 171, 40 = | 106 | fourth_angle_of_quadrilateral | `maxAngle=180` | | 57 | [Trigonometric Values](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/basic_trigonometry.py) | What is cos(90)? | 0 | 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 8 sides = | 1080 | 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 = 11m is | 1520.5308443374597 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 71 m = | 1499214.0909853019 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 [313.53, 145.92, 865.52, 575.29, 397.71, 201.66, 322.34, 126.51, 899.2, 45.11, 230.29, 927.09, 354.67] and [663.26, 671.39, 637.09, 283.77, 846.59, 345.77, 127.24, 22.2, 287.33, 758.54, 141.04, 326.26, 986.76] is: | 0.84 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, 44 and angle, 119. Find the area of the sector. | Area of sector = 2010.47967 | 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 241 in radians is = | 4.21 | 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 1 in degrees is = | 57.3 | 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, 12 and height, 17? | CSA of cylinder = 1281.77 | 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 9 sided polygon with lengths of [9, 38, 9, 30, 102, 64, 30, 91, 51]cm is: | 424 | 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 65 | 408.4070449666731 | circumference | `maxRadius=100` | | 108 | [Arc length of Angle](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/geometry/arc_length.py) | Given radius, 48 and angle, 129. Find the arc length of the angle. | Arc length of the angle = 108.07079 | 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 67 | 14108.285714285714 | 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 = 1m is and r2 = 1m is | 941.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 (19,-1) and (15,-3) in slope-intercept form? | 2y = x -21 | 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,0) and passing through (7.779999999999999, 5.89) is | 153.94 | 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 21 m = | 19396.193 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 = 17 m, base width = 3 m and height = 2 m is | 34.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 = 52m, base width = 52m, and height = 24m | 3744 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 17 and 10 = | 170 | lcm | `maxVal=20` | | 10 | [GCD (Greatest Common Denominator)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/gcd.py) | GCD of 10 and 3 = | 1 | gcd | `maxVal=20` | | 27 | [Prime Factorisation](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/prime_factors.py) | Find prime factors of 72 | [2, 2, 2, 3, 3] | 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 24 and 36 = | [1, 2, 3, 4, 6, 12] | common_factors | `maxVal=100` | | 51 | [HCF (Highest Common Factor)](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/hcf.py) | HCF of 5 and 1 = | 1 | hcf | `maxVal=20` | | 55 | [Comparing surds](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/surds_comparison.py) | Fill in the blanks 80^(1/4) _ 10^(1/7) | > | 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 = 314 and SP = 358 is: | 14.012738853503185 | 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 [4, 28, 196, 1372, 9604, 67228] ,Find the value of a,common ratio,8th term value, sum upto 10th term | The value of a is 4, common ratio is 7 , 8th term is 3294172 , sum upto 10th term is 188316832.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 43 , 73 and 2 = | (43*73*2)^(1/3) = 18.44762395255555 | 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 4 numbers 80 , 79 , 74 , 78 = | 4/((1/80) + (1/79) + (1/74) + (1/78)) = 77.6815865518732 | 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[86.58156338792955, 165.0561703332688, 492.72813194295276, 781.1275671824076, 350.2592897058979, 595.3141574403849, 980.9590499170994, 765.0348165196015, 496.4518614259873, 834.8722353149475, 194.45844826499703] is: | 1973.223460988261 | euclidian_norm | `maxEltAmt=20` | | 81 | [Celsius To Fahrenheit](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/celsius_to_fahrenheit.py) | Convert -14 degrees Celsius to degrees Fahrenheit = | 6.800000000000001 | 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 87 of the AP series: 14, -75, -164 ... | -7640 | 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 49 terms of the AP series: 70, 166, 262 ... | 116326.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: | MCMXXXI | 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) | 16.76(-5.0theta + i-16.0theta) | -1.87 | 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, 3, 6, 1} ,b={8, 5, 6, 7}.Find the Union,intersection,a-b,b-a and symmetric difference | Union is {1, 3, 5, 6, 7, 8, 9},Intersection is {6}, a-b is {9, 3, 1},b-a is {8, 5, 7}, Symmetric difference is {1, 3, 5, 7, 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 21421 from base 10 to base 7. | 116311 | 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 37^1 and 37^7 = 37^(1-7) = 37^-6 | 3.897531695087292e-10 | 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 6^4 and 29^4 = (6/29)^4 = 0.20689655172413793^4 | 0.0018323693129039236 | 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 2073 | 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 905 minutes to Hours & Minutes | 15 hours and 5 minutes | minutes_to_hours | `maxMinutes=999` | | 106 | [signum function](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/signum_function.py) | signum of 316 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, 32.85% of the pistons they manufacture are rejected because they are incorrectly sized. What is the probability that a batch of 13 pistons will contain no more than 5 rejected pistons? | 77.05 | binomial_distribution | `` | | 116 | [Factors of a number](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/misc/Factors.py) | Factors of 860 = | [1, 2, 4, 5, 10, 20, 43, 86, 172, 215, 430, 860] | 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 9.64x10^-53 and 6.53x10^-8 = | 6.29x10^-60 | 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 11 objects picked 8 at a time | 165 | combinations | `maxlength=20` | | 42 | [Permutations](https://github.com/lukew3/mathgenerator/blob/main/mathgenerator/funcs/statistics/permutation.py) | Number of Permutations from 15 objects picked 2 at a time = | 210 | 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 10 = | 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 [211, 207, 299, 261, 279, 291, 237, 288, 292, 268, 260, 290, 283, 213, 251, 209, 269, 266, 295, 232, 228, 224, 205, 235, 208, 214, 254, 255, 284, 267, 227, 241, 280, 233, 212] with 99% confidence is | (263.70301611669476, 237.32555531187666) | 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[39, 39, 27, 18, 40, 27, 33, 41, 13, 50, 22, 5, 11, 15, 35] | The Mean is 27.666666666666668 , Standard Deviation is 164.0888888888889, Variance is 12.809718532773813 | 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 [22, 27, 33, 35, 36, 42, 45, 47, 52, 83]. find the arithmatic mean and mdian of the series | Arithmetic mean of the series is 42.2 and Arithmetic median of this series is 39.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.87% of population have. Test sensitivity (true positive) is equal to SN= 94.26% whereas test specificity (true negative) SP= 99.52%. What is the probability that this guy really has that disease? | 78.91% | conditional_probability | `` |