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 https://lukew3.github.io/mathgenerator
See CONTRIBUTING.md for information about how to contribute.
The project can be install via pip
pip install mathgenerator
Here is an example of how you would generate an addition problem:
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)
If you wish to create a worksheet, you can use the 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
-
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 idid
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.
Id | Skill | Example problem | Example Solution | Function Name | Kwargs | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
11 | Basic Algebra | 5x + 5 = 7 | 2/5 | basic_algebra | maxVariable=10 |
||||||||||||||||||||||||||||||||
12 | Logarithm | log3(6561) | 8 | log | maxBase=3 maxVal=8 |
||||||||||||||||||||||||||||||||
17 | Integer Multiplication with 2x2 Matrix | 10 * [[10, 8], [9, 1]] = | [[100,80],[90,10]] | multiply_int_to_22_matrix | maxMatrixVal=10 maxRes=100 |
||||||||||||||||||||||||||||||||
20 | Midpoint of the two point | (-8,12),(8,-12)= | (0.0,0.0) | midpoint_of_two_points | maxValue=20 |
||||||||||||||||||||||||||||||||
21 | Factoring Quadratic | x^2-25 | (x+5)(x-5) | factoring | range_x1=10 range_x2=10 |
||||||||||||||||||||||||||||||||
23 | Solve a System of Equations in R^2 | 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 | Find the distance between (-3, 21) and (17, 3) | sqrt(724) | distance_two_points | maxValXY=20 minValXY=-20 |
||||||||||||||||||||||||||||||||
26 | Linear Equations | 11x + -13y = -389, 16x + -11y = -463 | x = -20, y = 13 | linear_equations | n=2 varRange=20 coeffRange=20 |
||||||||||||||||||||||||||||||||
41 | Intersection of Two Lines | 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 | [11, 8, 9] X [-20, 11, -12] = | [-195, -48, 281] | vector_cross | minVal=-20 maxVal=20 |
||||||||||||||||||||||||||||||||
45 | Simple Interest | 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 | Multiply
|
|
matrix_multiplication | maxVal=100 max_dim=10 |
||||||||||||||||||||||||||||||||
50 | Quadratic Equation | Zeros of the Quadratic Equation 38x^2+176x+57=0 | [-0.35, -4.28] | quadratic_equation | maxVal=100 |
||||||||||||||||||||||||||||||||
65 | Multiplication of 2 complex numbers | (13+14j) * (-20-11j) = | (-106-423j) | multiply_complex_numbers | minRealImaginaryNum=-20 maxRealImaginaryNum=20 |
||||||||||||||||||||||||||||||||
72 | Dot Product of 2 Vectors | [0, 18, -7] . [-11, -12, 14] = | -314 | vector_dot | minVal=-20 maxVal=20 |
||||||||||||||||||||||||||||||||
74 | Inverse of a Matrix | 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 | Det([[27, 0], [66, 78]]) = | 2106 | int_matrix_22_determinant | maxMatrixVal=100 |
||||||||||||||||||||||||||||||||
78 | Compound Interest | 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 | Find the roots of given Quadratic Equation 2x^2 + 8x + 3 = 0 | simplified solution : ((-0.419, -3.581)), generalized solution : ((-8 + sqrt(40))/22, (-8 - sqrt(40))/22) | complex_quadratic | prob_type=0 max_range=10 |
||||||||||||||||||||||||||||||||
105 | Combine Like terms | 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 | (-5x+10)(-5x-10) | 25x^2x-100 | expanding | range_x1=10 range_x2=10 range_a=10 range_b=10 |
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
0 | Addition | 18+33= | 51 | addition | maxSum=99 maxAddend=50 |
1 | Subtraction | 51-4= | 47 | subtraction | maxMinuend=99 maxDiff=99 |
2 | Multiplication | 5*9= | 45 | multiplication | maxMulti=12 |
3 | Division | 209/11= | 19 | division | maxA=25 maxB=25 |
6 | Square Root | sqrt(9)= | 3 | square_root | minNo=1 maxNo=12 |
8 | Square | 10^2= | 100 | square | maxSquareNum=20 |
13 | Complex Division | 12/26= | 0.46 | complex_division | maxRes=99 maxDivid=99 |
16 | Fraction Division | (3/5)/(3/7) | 7/5 | divide_fractions | maxVal=10 |
28 | Fraction Multiplication | (7/5)*(7/9) | 49/45 | fraction_multiplication | maxVal=10 |
31 | Factorial | 0! = | 1 | factorial | maxInput=6 |
44 | Compare Fractions | Which symbol represents the comparison between 6/3 and 2/4? | > | compare_fractions | maxVal=10 |
47 | Cube Root | What is the cube root of 194 up to 2 decimal places? | 5.79 | cube_root | minNo=1 maxNo=1000 |
53 | Exponentiation | 4^10 = | 1048576 | exponentiation | maxBase=20 maxExpo=10 |
71 | Absolute difference between two numbers | -92--57 | = | 35 | |
80 | Percentage of a number | What is 14% of 14? | 1.96 | percentage | maxValue=99 maxpercentage=99 |
90 | isprime | Is 51 prime? | No | is_prime | max_num=100 |
97 | Power of Powers | Simplify 6^10^8= | 6^80 | power_of_powers | maxBase=50 maxPower=10 |
118 | Percentage difference | What is the percentage difference between 53 and 90? | 51.75% | percentage_difference | maxValue=200 minValue=0 |
119 | Percentage error | 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 | GCD(21465961,176654083)= | 1 | greatest_common_divisor | numbersCount=2 maximalNumberLimit=10**9 |
124 | Is Composite | Is 8 composite? | Yes | is_composite | maxNum=250 |
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
7 | Power Rule Differentiation | 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 | 2x^7 + 2x^9 | (2/7)x^8 + (2/9)x^10 + c | power_rule_integration | maxCoef=10 maxExp=10 maxTerms=5 |
88 | Differentiation | 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 | 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 | f(x)=4x^2 + 8x + 6 | (-1,2) | stationary_points | maxExp=3 maxCoef=10 |
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
4 | Binary Complement 1s | 0= | 1 | binary_complement_1s | maxDigits=10 |
5 | Modulo Division | 53%8= | 5 | modulo_division | maxRes=99 maxModulo=99 |
14 | Decimal to Binary | Binary of 94= | 1011110 | decimal_to_binary | max_dec=99 |
15 | Binary to Decimal | 00 | 0 | binary_to_decimal | max_dig=10 |
56 | Fibonacci Series | 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 | What is the 69th Fibonacci number? | 117669030460994 | nth_fibonacci_number | maxN=100 |
64 | Binary to Hexidecimal | 11011101 | 0xdd | binary_to_hex | max_dig=10 |
73 | Binary 2's Complement | 2's complement of = | binary_2s_complement | maxDigits=10 |
|
79 | Decimal to Hexadecimal | Binary of 639= | 0x27f | decimal_to_hexadeci | max_dec=1000 |
84 | Converts decimal to octal | The decimal number 3882 in Octal is: | 0o7452 | decimal_to_octal | maxDecimal=4096 |
91 | Binary Coded Decimal to Integer | Integer of Binary Coded Decimal 9 is = | 38983 | bcd_to_decimal | maxNumber=10000 |
103 | Decimal to Binary Coded Decimal | BCD of Decimal Number 3184 is = | 1270 | decimal_to_bcd | maxNumber=10000 |
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
18 | Area of Triangle | Area of triangle with side lengths: 13 5 11 = | 26.89 | area_of_triangle | maxA=20 maxB=20 |
19 | Triangle exists check | Does triangle with sides 19, 43 and 32 exist? | Yes | valid_triangle | maxSideLength=50 |
22 | Third Angle of Triangle | Third angle of triangle with angles 69 and 64 = | 47 | third_angle_of_triangle | maxAngle=89 |
25 | Pythagorean Theorem | 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 | Find the angle of a regular polygon with 14 sides | 154.29 | angle_regular_polygon | minVal=3 maxVal=20 |
32 | Surface Area of Cube | Surface area of cube with side = 8m is | 384 m^2 | surface_area_cube | maxSide=20 unit='m' |
33 | Surface Area of Cuboid | 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 | 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 | Volume of cube with side = 13m is | 2197 m^3 | volume_cube | maxSide=20 unit='m' |
36 | Volume of Cuboid | Volume of cuboid with sides = 13m, 17m, 7m is | 1547 m^3 | volume_cuboid | maxSide=20 unit='m' |
37 | Volume of cylinder | 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 | 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 | 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 | Fourth angle of quadrilateral with angles 43 , 171, 40 = | 106 | fourth_angle_of_quadrilateral | maxAngle=180 |
57 | Trigonometric Values | What is cos(90)? | 0 | basic_trigonometry | angles=[0, 30, 45, 60, 90] functions=['sin', 'cos', 'tan'] |
58 | Sum of Angles of Polygon | Sum of angles of polygon with 8 sides = | 1080 | sum_of_polygon_angles | maxSides=12 |
60 | Surface Area of Sphere | Surface area of Sphere with radius = 11m is | 1520.5308443374597 m^2 | surface_area_sphere | maxSide=20 unit='m' |
61 | Volume of Sphere | Volume of sphere with radius 71 m = | 1499214.0909853019 m^3 | volume_sphere | maxRadius=100 |
70 | Angle between 2 vectors | 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 | 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 | Angle 241 in radians is = | 4.21 | degree_to_rad | max_deg=360 |
87 | Radians to Degrees | Angle 1 in degrees is = | 57.3 | radian_to_deg | max_rad=3 |
95 | Curved surface area of a cylinder | 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 | 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 | Circumference of circle with radius 65 | 408.4070449666731 | circumference | maxRadius=100 |
108 | Arc length of Angle | 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 | Area of circle with radius 67 | 14108.285714285714 | area_of_circle | maxRadius=100 |
113 | Volume of frustum | 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 | 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 | 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 | Volume of hemisphere with radius 21 m = | 19396.193 m^3 | volume_hemisphere | maxRadius=100 |
122 | Volume of pyramid | 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 | Surface area of pyramid with base length = 52m, base width = 52m, and height = 24m | 3744 m^2 | surface_area_pyramid | unit='m' |
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
9 | LCM (Least Common Multiple) | LCM of 17 and 10 = | 170 | lcm | maxVal=20 |
10 | GCD (Greatest Common Denominator) | GCD of 10 and 3 = | 1 | gcd | maxVal=20 |
27 | Prime Factorisation | Find prime factors of 72 | [2, 2, 2, 3, 3] | prime_factors | minVal=1 maxVal=200 |
40 | Common Factors | Common Factors of 24 and 36 = | [1, 2, 3, 4, 6, 12] | common_factors | maxVal=100 |
51 | HCF (Highest Common Factor) | HCF of 5 and 1 = | 1 | hcf | maxVal=20 |
55 | Comparing surds | Fill in the blanks 80^(1/4) _ 10^(1/7) | > | surds_comparison | maxValue=100 maxRoot=10 |
63 | Profit or Loss Percent | Profit percent when CP = 314 and SP = 358 is: | 14.012738853503185 | profit_loss_percent | maxCP=1000 maxSP=1000 |
66 | Geometric Progression | 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 | Geometric mean of 3 numbers 43 , 73 and 2 = | (43732)^(1/3) = 18.44762395255555 | geometric_mean | maxValue=100 maxNum=4 |
68 | Harmonic Mean of N Numbers | 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 | 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 | Convert -14 degrees Celsius to degrees Fahrenheit = | 6.800000000000001 | celsius_to_fahrenheit | maxTemp=100 |
82 | AP Term Calculation | 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 | 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 | The number 0 in Roman Numerals is: | MCMXXXI | decimal_to_roman_numerals | maxDecimal=4000 |
92 | Complex To Polar Form | 16.76(-5.0theta + i-16.0theta) | -1.87 | complex_to_polar | minRealImaginaryNum=-20, maxRealImaginaryNum=20 |
93 | Union,Intersection,Difference of Two Sets | 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 | Convert 21421 from base 10 to base 7. | 116311 | base_conversion | maxNum=60000 maxBase=16 |
98 | Quotient of Powers with Same Base | 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 | 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 | Year 2073 | is not a leap year | is_leap_year | minNumber=1900 maxNumber=2099 |
102 | Minute to Hour conversion | Convert 905 minutes to Hours & Minutes | 15 hours and 5 minutes | minutes_to_hours | maxMinutes=999 |
106 | signum function | signum of 316 is = | 1 | signum_function | min=-999 max=999 |
109 | Binomial distribution | 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 | Factors of 860 = | [1, 2, 4, 5, 10, 20, 43, 86, 172, 215, 430, 860] | Factors | maxVal=1000 |
121 | Product of scientific notations | Product of scientific notations 9.64x10^-53 and 6.53x10^-8 = | 6.29x10^-60 | product_of_scientific_notations | minExpVal=-100 maxExpVal=100 |
Id | Skill | Example problem | Example Solution | Function Name | Kwargs |
---|---|---|---|---|---|
30 | Combinations of Objects | Number of combinations from 11 objects picked 8 at a time | 165 | combinations | maxlength=20 |
42 | Permutations | 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 | 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 | 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 | 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 | 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 | 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 | `` |