Advertisement
aleffelixf

Mat class in JS

Jan 7th, 2022
1,341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const test = (title, condition) => {
  2.     const messageTest = condition ? 'Ok' : 'Error'
  3.    
  4.     console.log(title, messageTest)
  5. }
  6.  
  7. class Mat {
  8.    
  9.     static addition(value1, value2) {
  10.         return value1 + value2
  11.     }
  12.    
  13.     static subtraction(value1, value2) {
  14.         return value1 - value2
  15.     }
  16.    
  17.     static multiplication(value1, value2) {
  18.         return value1 * value2
  19.     }
  20.    
  21.     static division(value1, value2) {
  22.         return value1 / value2
  23.     }
  24.    
  25.     static rest(value1, value2) {
  26.         return value1 % value2
  27.     }
  28.    
  29.     static pow(value1, value2) {
  30.         let result = 1
  31.         for (let i = 1; i <= value2; i++) {
  32.             result *= value1
  33.         }
  34.        
  35.         return result
  36.     }
  37.    
  38.     static lcm(value1, value2) {
  39.         let greater, lcm
  40.         if (value1 > value2)
  41.             greater = value1
  42.         else
  43.             greater = value2
  44.            
  45.         while (true) {
  46.             if ((greater % value1 === 0) && (greater % value2 === 0)) {
  47.                 lcm = greater
  48.                 break
  49.             }
  50.             greater += 1
  51.         }
  52.        
  53.         return lcm
  54.     }
  55.    
  56.     static gcd(value1, value2) {
  57.         let gcd = 1
  58.         for (let i = 1; i <= value1 && i <= value2; i++) {
  59.             if (value1 % i === 0 && value2 % i === 0) {
  60.                 gcd = i;
  61.             }
  62.         }
  63.        
  64.         return gcd;
  65.     }
  66.    
  67. }
  68.  
  69. console.log("Running tests....")
  70. test("addition", Mat.addition(1, 1) === 2)
  71. test("subtraction", Mat.subtraction(1, 1) === 0)
  72. test("multiplication", Mat.multiplication(1, 1) === 1)
  73. test("division", Mat.division(4, 2) === 2)
  74. test("pow", Mat.pow(2, 2) === 4)
  75. test("lcm", Mat.lcm(12, 83) === 996)
  76. test("gcd", Mat.gcd(20, 8) === 4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement