zoukankan      html  css  js  c++  java
  • #leetcode刷题之路29- 两数相除

    给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
    返回被除数 dividend 除以除数 divisor 得到的商。

    示例 1:
    输入: dividend = 10, divisor = 3
    输出: 3
    示例 2:
    输入: dividend = 7, divisor = -3
    输出: -2

    int divide(int dividend, int divisor) {
    
        int count=0;
        if((dividend>INT32_MAX||dividend<INT32_MIN)||(divisor>INT32_MAX||divisor<INT32_MIN)) return INT32_MAX;
        if((dividend)==INT32_MIN&&(divisor==INT32_MIN)) return  1;
        if((dividend)==INT32_MIN&&(divisor==1)) return INT32_MIN;
        if(divisor==INT32_MIN) return 0;
        if((dividend)==INT32_MIN&&(divisor==-1)) return INT32_MAX;
        if(dividend==INT32_MIN)
        {
            bool flag=0;
            if(divisor<0) flag=1;
            divisor=(divisor>0)?divisor:-divisor;
            while(dividend<=0)
            {
                dividend+=divisor;
                count++;
            }
            return flag?count-1:1-count;
        }
        if(dividend==0||abs(dividend)<abs(divisor)) return count;
        if(divisor==1) return dividend;
        if(divisor==-1) return -dividend;
        else if(dividend>0&&divisor>0||dividend<0&&divisor<0)
        {
             dividend=abs(dividend);
            divisor=abs(divisor);
            while (dividend>=0)
            {
                dividend-=divisor;
                count++;
            }
            return (count-1);
        }
        else if(dividend<0&&divisor>0||dividend>0&&divisor<0)
        {
            dividend=(dividend>0)?dividend:-dividend;
            divisor=(divisor>0)?divisor:-divisor;
            while (dividend>=0)
            {
                dividend-=divisor;
                count++;
            }
            return  1-count;
        }
        return 0;
    }
  • 相关阅读:
    Use JAWS 14 in a VM
    远程文件拷贝
    MVA Prototype Only User License
    Global.asax 详解
    GridView of different size items
    Windows Phone 8, 添加Map控件
    动态规划——递归写法和递推写法
    守形数
    遍历链表
    成绩排序
  • 原文地址:https://www.cnblogs.com/biat/p/10562490.html
Copyright © 2011-2022 走看看