兩數相除 kotlin

2021-09-05 10:10:11 字數 853 閱讀 8349

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

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

示例 1:

輸入: dividend = 10, divisor = 3

輸出: 3

示例 2:

輸入: dividend = 7, divisor = -3

輸出: -2

說明:題目看似簡單,坑還是蠻多的。

開始覺得只要拿到絕對值,除法轉為減法,a/b  abs(a)- abs(b) 然後計數即可。嘗試了一下先不管方法是否可行,在a特別大,b特別小的時候這速度。。。。。此方案直接pass

任何乙個整數可以表示成以2的冪為底的一組基的線性組合

2的多少次方可以用位移操作來計算

class solution

result += c

dividendl -= temp

}return when }}

fun absmy(entry: long) = if(entry >0) entry else 0 - entry

注:leetcode上居然不支援預設的abs方法,沒轍了再外面自己瞎寫乙個湊合

求兩整數相除 29 兩數相除

給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數 dividend 除以除數 divisor 得到的商。示例1 輸入 dividend 10,divisor 3 輸出 3 示例2 輸入 dividend 7,divisor...

LeetCode 兩數相除

題目 給定兩個整數,被除數dividend和除數divisor。將兩數相除,要求不使用乘法 除法和 mod 運算子。返回被除數dividend除以除數divisor得到的商。示例 1 輸入 dividend 10,divisor 3輸出 3示例 2 輸入 dividend 7,divisor 3輸出...

29 兩數相除

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