int divide(int dividend, int divisor)
{
int result;
if (dividend == (pow(-2, 31))&& divisor==-1)
return pow(2, 31) - 1;
result = dividend / divisor;
return result;
}
class Solution {
public int divide(int dividend, int divisor) {
int ans=0;
int FH=1;
if(dividend<0)
{
if(dividend==Integer.MIN_VALUE)
{
if(divisor==-1)
return Integer.MAX_VALUE;
if(divisor==1)
return Integer.MIN_VALUE;
if(divisor==Integer.MIN_VALUE)
return 1;
FH=-FH;
if(divisor<0)
{
dividend=Integer.MAX_VALUE+divisor+1;
ans++;
}
else {
dividend=Integer.MAX_VALUE-divisor+1;
ans++;
}
}
else {
FH=-FH;
dividend=-dividend;
}
}
if(divisor<0)
{
FH=-FH;
if(divisor==Integer.MIN_VALUE)
{
return 0;
}
divisor=-divisor;
}
while (dividend>=divisor)
{
dividend=dividend-divisor;
ans++;
}
if(FH==-1)
return -ans;
else return ans;
}
}