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. };  
  • 相关阅读:
    docker 001 简介
    Golang 学习笔记 003 标识符、变量和常量
    Golang 学习笔记 002 第一个 go 程序
    Golang 学习笔记 001 环境部署
    nginx配置url中带问号的rewrite跳转
    北京市图书馆免费入口
    编译安装Python3
    Python—进程、线程、协程
    Python—I/O多路复用
    Python—Socket
  • 原文地址:https://www.cnblogs.com/mac10/p/7445395.html
Copyright © 2011-2022 走看看