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