This repository was archived by the owner on Feb 20, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +44
-1
lines changed Expand file tree Collapse file tree 4 files changed +44
-1
lines changed Original file line number Diff line number Diff line change 101
101
" kentcdodds/ava"
102
102
]
103
103
}
104
- }
104
+ }
Original file line number Diff line number Diff line change @@ -66,6 +66,7 @@ import generatePassword from './generate-password'
66
66
import tail from './tail'
67
67
import makeObjectIterable from './makeObjectIterable'
68
68
import fibonacciSum from './fibonacciSum'
69
+ import lcm from './lcm'
69
70
70
71
export {
71
72
reverseArrayInPlace ,
@@ -136,4 +137,5 @@ export {
136
137
tail ,
137
138
makeObjectIterable ,
138
139
fibonacciSum ,
140
+ lcm ,
139
141
}
Original file line number Diff line number Diff line change
1
+ export default lcm
2
+
3
+ /**
4
+ * Original source: https://stackoverflow.com/a/38407734
5
+ *
6
+ * This method returns least common multiple of two integers
7
+ *
8
+ * @param {Number } a - first integer
9
+ * @param {Number } b - second integer
10
+ * @return {Number } - least common multiple
11
+ */
12
+
13
+ function gcd ( a , b ) {
14
+ if ( b === 0 ) {
15
+ return a
16
+ } else {
17
+ return gcd ( b , a % b )
18
+ }
19
+ }
20
+
21
+ function lcm ( a , b ) {
22
+ return a * b / gcd ( a , b )
23
+ }
Original file line number Diff line number Diff line change
1
+ import test from 'ava'
2
+ import { lcm } from '../src'
3
+
4
+ test ( 'Get lcm of two unequal integers' , t => {
5
+ const a = 8
6
+ const b = 12
7
+ const expected = 24
8
+ const actual = lcm ( a , b )
9
+ t . deepEqual ( actual , expected )
10
+ } )
11
+
12
+ test ( 'Get lcm of equal integers' , t => {
13
+ const a = 11
14
+ const b = 11
15
+ const expected = 11
16
+ const actual = lcm ( a , b )
17
+ t . deepEqual ( actual , expected )
18
+ } )
You can’t perform that action at this time.
0 commit comments