29 兩數相除

2021-10-07 13:03:32 字數 701 閱讀 5537

給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法、除法和 mod 運算子。

返回被除數 dividend 除以除數 divisor 得到的商。

整數除法的結果應當截去(truncate)其小數部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2

思路:採用遞迴求解,注意開long long

class solution 

if(k!=0) return k+div(a-temp,b);//遞迴求解

else return 0;

}int divide(int dividend, int divisor)

if(dividend==2147483647)

if((dividend<0&&divisor>0)||(dividend>0&&divisor<0)) vis=1;

else vis=0;

divisor=abs(divisor);

dividend=abs(dividend);

int k=0;

if(divisor<=dividend) k=1;

int ans=div(dividend,divisor);

if(vis) ans*=-1;

return ans;

}};

29 兩數相除

這是數學題題啊,老本行。方法一 可以將除法轉移到對數域 b a eln b a e ln b ln a frac ab eln ab e lnb lna c code class solution 方法二 任何乙個整數可以表示成以2的冪為底的一組基的線性組合.分析 可以對被除數進行分解。以 10 和...

29 兩數相除

參考文獻 給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數dividend除以除數divisor得到的商。example 輸入 dividend 10,divisor 3 輸出 3 二進位制遞迴 class solution l...

29 兩數相除

29.兩數相除 難度中等321收藏分享切換為英文關注反饋 給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數dividend除以除數divisor得到的商。整數除法的結果應當截去 truncate 其小數部分,例如 truncat...