zoukankan      html  css  js  c++  java
  • 两个整数相除

    1. class Solution {  
    2. public:  
    3.     /** 
    4.      * @param dividend the dividend 
    5.      * @param divisor the divisor 
    6.      * @return the result 
    7.      */  
    8.     int divide(int dividend, int divisor) {  
    9.         // Write your code here  
    10.         bool resultGreatThanZero = true;  
    11.         if(dividend>0&&divisor<0||dividend<0&&divisor>0)  
    12.             resultGreatThanZero = false;  
    13.         long long ret = 0;  
    14.         long long d1 = abs((long long)dividend);  
    15.         long long d2 = abs((long long)divisor);  
    16.         while(d1>=d2)  
    17.         {  
    18.             long long temp = d2;  
    19.             long long cnt = 1;  
    20.             while(d1>=temp)  
    21.             {  
    22.                 d1-=temp;  
    23.                 ret+=cnt;  
    24.                 cnt = cnt<<1;  
    25.                 temp = temp<<1;  
    26.             }  
    27.         }  
    28.         if(!resultGreatThanZero)  
    29.             ret*=-1;  
    30.         if(ret<(long long)INT_MIN||ret>(long long)INT_MAX)  
    31.             return INT_MAX;  
    32.         return ret;  
    33.     }  
    34. };  
  • 相关阅读:
    net事件丢失解决方法
    Google排名经验谈
    动力漏洞
    Understand简明参考
    修复iReaper
    Bootstrap源码分析
    UTF8编码字节流错误小析
    OAuth2学习及DotNetOpenAuth部分源码研究
    DynamicModuleUtility对象在.net不同版本下的兼容性问题
    MediaWiKi简明安装与配置笔记
  • 原文地址:https://www.cnblogs.com/mac10/p/7445395.html
Copyright © 2011-2022 走看看