Skip to content

Commit 7fd65cb

Browse files
committed
Update index.ts
1 parent 3bb69f0 commit 7fd65cb

File tree

1 file changed

+9
-8
lines changed
  • fraction-addition-and-subtraction

1 file changed

+9
-8
lines changed

fraction-addition-and-subtraction/index.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,24 @@ import { deduplication } from "./deduplication.ts";
33
import { Fraction } from "./Fraction.ts";
44
import { parseFraction } from "./parseFraction.ts";
55
import { FractionToString } from "./Fraction.ts";
6-
7-
function fractionAddition(expression: string): string {
8-
const fractions = parseFraction(expression);
9-
6+
export function fractionAdd(fractions: Fraction[]): Fraction {
107
const denominator = deduplication(
118
fractions.map((f) => f.denominator),
129
).reduce((a, b) => a * b);
1310
const molecular = fractions
1411
.map((f) => (f.sign * f.molecular * denominator) / f.denominator)
1512
.reduce((a, b) => a + b);
1613
const gcd = greatestCommonDivisor(molecular, denominator);
14+
return new Fraction({
15+
denominator: denominator / gcd,
16+
molecular: molecular / gcd,
17+
});
18+
}
19+
function fractionAddition(expression: string): string {
20+
const fractions = parseFraction(expression);
1721

1822
return FractionToString(
19-
new Fraction({
20-
denominator: denominator / gcd,
21-
molecular: molecular / gcd,
22-
}),
23+
fractionAdd(fractions),
2324
);
2425
}
2526
export default fractionAddition;

0 commit comments

Comments
 (0)