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. };  
  • 相关阅读:
    QQ家园熄灭不了解决方法
    那时我们还年轻[转]
    QQ游戏图标熄灭大全
    FlashDevelop快捷键
    linux 全局搜索某一文件并将文件内容并进行替换的命令
    navigate 10.0.5 regist cn
    线程、socket、stl 以及并发设计
    drupal真不错
    网卡问题解决思路linux版
    socket错误:Program received signal SIGPIPE, Broken pipe
  • 原文地址:https://www.cnblogs.com/mac10/p/7445395.html
Copyright © 2011-2022 走看看