zoukankan      html  css  js  c++  java
  • 29. Divide Two Integers(js)

    29. Divide Two Integers

    Given two integers dividend and divisor, divide two integers without using multiplication, division and mod operator.

    Return the quotient after dividing dividend by divisor.

    The integer division should truncate toward zero.

    Example 1:

    Input: dividend = 10, divisor = 3
    Output: 3

    Example 2:

    Input: dividend = 7, divisor = -3
    Output: -2
    题意:实现两个整数相除的函数,不能使用乘,除,余运算符
    代码如下:
    /**
     * @param {number} dividend
     * @param {number} divisor
     * @return {number}
     */
    const MAX_VALUE=Math.pow(2,31)-1;
    const MIN_VALUE=Math.pow(-2,31);
    var divide = function(dividend, divisor) {
        var sign=1;
        if((dividend>0 && divisor<0) || (dividend<0 && divisor>0)){
            sign=-1;
        }
        var ldividend=Math.abs(dividend);
        var ldivisor=Math.abs(divisor);
        if(ldivisor==0) return MAX_VALUE;
        if(ldividend==0 || ldividend<ldivisor) return 0
    
        var lans=ldivide(ldividend,ldivisor);
    
        var ans;
        if(lans>MAX_VALUE){
            ans=(sign==1)? MAX_VALUE:MIN_VALUE;
        }else{
            ans=sign*lans;
        }
    
        return ans;
    };
    var ldivide=function(ldividend,ldivisor){
        if(ldividend<ldivisor) return 0;
    
        var sum=ldivisor;
        var multiple=1;
        while((sum+sum) <= ldividend){
            sum+=sum;
            multiple+=multiple;
        }
        return multiple+ldivide(ldividend-sum,ldivisor)
    };
  • 相关阅读:
    H5新增属性02
    h5新增属性
    javascript基础
    多列布局和弹性盒模型详解
    边框图片+盒子倒影
    CSS新增边框属性
    css3选择器
    css3基础
    h5新增-2
    h5新增
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/10392880.html
Copyright © 2011-2022 走看看