mirror of
https://github.com/DeaDvey/mathgenerator.git
synced 2025-11-28 06:25:23 +01:00
Merge pull request #88 from RodolfoNei/add-multiplication-fractions
add the multiplication of fractions function
This commit is contained in:
@@ -387,6 +387,29 @@ def primeFactors(minVal=1, maxVal=200):
|
||||
solution = f"{factors}"
|
||||
return problem, solution
|
||||
|
||||
def multiplyFractionsFunc(maxVal=10):
|
||||
a = random.randint(1, maxVal)
|
||||
b = random.randint(1, maxVal)
|
||||
c = random.randint(1, maxVal)
|
||||
d = random.randint(1, maxVal)
|
||||
while (a == b):
|
||||
b = random.randint(1, maxVal)
|
||||
while (c == d):
|
||||
d = random.randint(1, maxVal)
|
||||
def calculate_gcd(x, y):
|
||||
while(y):
|
||||
x, y = y, x % y
|
||||
return x
|
||||
tmp_n = a * c
|
||||
tmp_d = b * d
|
||||
gcd = calculate_gcd(tmp_n, tmp_d)
|
||||
x = f"{tmp_n//gcd}/{tmp_d//gcd}"
|
||||
if (tmp_d == 1 or tmp_d == gcd):
|
||||
x = f"{tmp_n//gcd}"
|
||||
problem = f"({a}/{b})*({c}/{d})"
|
||||
solution = x
|
||||
return problem, solution
|
||||
|
||||
# || Class Instances
|
||||
|
||||
#Format is:
|
||||
@@ -420,3 +443,4 @@ distance2Point = Generator("Distance between 2 points", 24, "Find the distance b
|
||||
pythagoreanTheorem = Generator("Pythagorean Theorem", 25, "The hypotenuse of a right triangle given the other two lengths a and b = ", "hypotenuse", pythagoreanTheoremFunc)
|
||||
linearEquations = Generator("Linear Equations", 26, "2x+5y=20 & 3x+6y=12", "x=-20 & y=12", linearEquationsFunc) #This has multiple variables whereas #23 has only x and y
|
||||
primeFactors = Generator("Prime Factorisation", 27, "Prime Factors of a =", "[b, c, d, ...]", primeFactors)
|
||||
fractionMultiplication = Generator("Fraction Multiplication", 28, "(a/b)*(c/d)=", "x/y", multiplyFractionsFunc)
|
||||
Reference in New Issue
Block a user