Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. /**
  2. * @param {number} dividend
  3. * @param {number} divisor
  4. * @return {number}
  5. */
  6. const divide = function(dividend, divisor) {
  7. const sign = (dividend > 0 && divisor > 0) || (dividend < 0 && divisor < 0);
  8.  
  9. dividend = dividend < 0 ? -dividend : dividend;
  10. divisor = divisor < 0 ? -divisor : divisor;
  11.  
  12. let count = 0;
  13. let number = dividend;
  14. let step = 1;
  15. let stepValue = divisor;
  16.  
  17. while (number >= 0) {
  18. number -= stepValue;
  19. count+=step;
  20.  
  21. step +=1;
  22. stepValue+=divisor;
  23. if(stepValue > number) {
  24. step = 1;
  25. stepValue = divisor;
  26. }
  27. }
  28.  
  29. count = count - 1;
  30.  
  31. const result = sign ? count : -count;
  32.  
  33. if (result >= 2147483648) {
  34. return result - 1;
  35. } else if (result < -2147483648) {
  36. return -2147483648;
  37. } else {
  38. return result;
  39. }
  40. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement