码迷,mamicode.com
首页 > 其他好文 > 详细

Divide Two Integers

时间:2015-08-03 16:23:10      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

class Solution {
public:
    int divide(int dividend, int divisor) {
        bool flag=((dividend >0) ^ (divisor>0));
        cout<<(dividend >0);
        cout<<(divisor >0);
        cout<<flag<<endl;
        /*if(divisor==1) return dividend;
        if(divisor==-1) return -dividend;
        if(dividend==divisor) return 1;
        if(dividend==-divisor) return -1;*/
        
        uint64_t end=(unsigned int)(abs(dividend));
        uint64_t sor=(unsigned int)(abs(divisor));
                cout<<end<<" "<<sor<<endl;
        long long res=0;
        int p=0;
        while(end>=sor){
            res+=pow(2,p++);
            end-=sor;
            sor <<= 1;
             // 
        }
          //cout<<" fdfsdf"<<res<<endl;
            cout<<end<<" "<<sor<<endl;
        
        if(p){
         p--;
         sor >>=1;
           //cout<<end<<"---"<<sor<<endl;
         while(end >0 ){
            //cout<<end<<" "<<sor<<endl;
            while(end>=sor){
                res+=pow(2,p);
                cout<<end<<" "<<sor<<endl;
                cout<<" fdfsdf"<<res<<endl;
                end-=sor;
            } 
            sor >>= 1;
            p--;
          }
          }
        if(!flag) cout<<"-----"<<res;
        return flag?-res:res;
    }
};

这题让我好厌烦,,这种判断边界。。。。

Divide Two Integers

标签:

原文地址:http://www.cnblogs.com/julie-yang/p/4699428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!