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)
    };
  • 相关阅读:
    书单
    parzen 窗的matlab实现
    Oracle-07
    图片加载不出来
    省市区三表建立及数据插入
    a链接与button按钮混用
    省市区三级联动,获取地区编号,JSON格式
    纯JS省市区三级联动
    JDK与JRE的区别
    web-03-jQuery
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/10392880.html
Copyright © 2011-2022 走看看