File tree Expand file tree Collapse file tree 2 files changed +8
-15
lines changed Expand file tree Collapse file tree 2 files changed +8
-15
lines changed Original file line number Diff line number Diff line change 99 is coprime with b.
1010*/
1111
12- // Here we use a GetEuclidGCD method as a utility.
13- const GetEuclidGCD = ( arg1 , arg2 ) => {
14- let less = arg1 > arg2 ? arg2 : arg1
15- for ( less ; less >= 2 ; less -- ) {
16- if ( arg1 % less === 0 && arg2 % less === 0 ) return less
17- }
18- return less
19- }
12+ import { GetEuclidGCD } from './GetEuclidGCD'
2013
2114// CoPrimeCheck function return the boolean in respect of the given number is co-prime or not.
2215/**
@@ -26,15 +19,11 @@ const GetEuclidGCD = (arg1, arg2) => {
2619 * @returns return correspond boolean value, if both number are co-prime return `true`, else return `false`.
2720 */
2821const CoPrimeCheck = ( firstNumber , secondNumber ) => {
29- // firstly, check that input is a number or not.
30- if ( typeof firstNumber !== 'number' || typeof secondNumber !== 'number' ) {
31- throw new TypeError ( 'Argument is not a number.' )
32- }
3322 /*
3423 This is the most efficient algorithm for checking co-primes
3524 if the GCD of both the numbers is 1 that means they are co-primes.
3625 */
37- return GetEuclidGCD ( Math . abs ( firstNumber ) , Math . abs ( secondNumber ) ) === 1
26+ return GetEuclidGCD ( firstNumber , secondNumber ) === 1
3827}
3928
4029export { CoPrimeCheck }
Original file line number Diff line number Diff line change @@ -8,15 +8,19 @@ describe('CoPrimeCheck', () => {
88 [ 1 , 7 ] ,
99 [ 20 , 21 ] ,
1010 [ 5 , 7 ] ,
11- [ - 5 , - 7 ]
11+ [ - 5 , - 7 ] ,
12+ [ 1 , 0 ] ,
13+ [ - 1 , 0 ]
1214 ] ) ( 'returns true for %j and %i' , ( inputA , inputB ) => {
1315 expect ( CoPrimeCheck ( inputA , inputB ) ) . toBe ( true )
1416 expect ( CoPrimeCheck ( inputB , inputA ) ) . toBe ( true )
1517 } )
1618
1719 it . each ( [
1820 [ 5 , 15 ] ,
19- [ 13 * 17 * 19 , 17 * 23 * 29 ]
21+ [ 13 * 17 * 19 , 17 * 23 * 29 ] ,
22+ [ 2 , 0 ] ,
23+ [ 0 , 0 ]
2024 ] ) ( 'returns false for %j and %i' , ( inputA , inputB ) => {
2125 expect ( CoPrimeCheck ( inputA , inputB ) ) . toBe ( false )
2226 expect ( CoPrimeCheck ( inputB , inputA ) ) . toBe ( false )
You can’t perform that action at this time.
0 commit comments