快速幂
class Solution {
public:
int divide(int x, int y) {
typedef long long LL;
vector<LL>k;
bool is_minus=false;
if(x<0 && y>0 || x>0 && y<0)is_minus=true;
LL a=abs((LL)x),b=abs((LL)y);
for(LL i=b;i<=a;i=i+i)k.push_back(i); //存储y的指数幂
LL ans=0;
for(int i=k.size()-1;i>=0;i--){
if(a>=k[i]){
a-=k[i];
ans+=(LL)1<<i;
}
}
if(is_minus)ans=-ans;
if(ans>INT_MAX || ans<INT_MIN)ans=INT_MAX;
return ans;
}
};
//快速幂