给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
返回被除数 dividend 除以除数 divisor 得到的商。示例 1:
输入: dividend = 10, divisor = 3输出: 3示例 2:输入: dividend = 7, divisor = -3输出: -2
int divide(int dividend, int divisor) { int count=0; if((dividend>INT32_MAX||dividendINT32_MAX||divisor 0)?divisor:-divisor; while(dividend<=0) { dividend+=divisor; count++; } return flag?count-1:1-count; } if(dividend==0||abs(dividend) 0&&divisor>0||dividend<0&&divisor<0) { dividend=abs(dividend); divisor=abs(divisor); while (dividend>=0) { dividend-=divisor; count++; } return (count-1); } else if(dividend<0&&divisor>0||dividend>0&&divisor<0) { dividend=(dividend>0)?dividend:-dividend; divisor=(divisor>0)?divisor:-divisor; while (dividend>=0) { dividend-=divisor; count++; } return 1-count; } return 0;}