题目要求:两个整数相除,不能使用乘法,除法,取模,取余运算。
代码如下:
int divide(int dividend, int divisor) {
if(dividend==0||divisor==0)return 0;
bool symbol=false;
if((divisor>0&÷nd<0)||(divisor<0&÷nd>0))
symbol=true;
if(divisor<0)divisor=0-divisor;
if(dividend<0)dividend=0-dividend;
int value=0;
while(divisor<=dividend)
{
int tmp=1,sum=divisor;
while(sum+sum<=dividend)
{
sum+=sum;
tmp+=tmp;
}
value+=tmp;
dividend-=sum;
}
if(symbol)value=0-value;
return value;
}