首页 > 其他 > 详细

Divide Two Integers

时间:2015-08-03 16:20:30      阅读:226      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!