如何使用 JavaScript 獲取兩個整數的乘積而不使用 *


我們需要編寫一個函式,該函式接收兩個數字,並返回它們的乘積,但不使用 (*) 運算子。

訣竅 1:使用除法運算子兩次

我們知道乘法和除法只是彼此的逆運算,所以如果我們用一個數除以另一個數的逆,那豈不就是等於這兩個數的乘積嗎?

讓我們看看以下程式碼−

const a = 20, b = 45;
const product = (a, b) => a / (1 / b);
console.log(product(a, b));

訣竅 2:使用對數

讓我們首先檢查對數的屬性 −

log(a) + log(b) = log(ab)

因此,讓我們好好利用對數的這一特性。程式碼如下 −

示例

const a = 20, b = 45;
const product = (a, b) => {
   const logProduct = Math.log(a) + Math.log(b);
   return Math.round(Math.exp(logProduct));
};
console.log(product(a, b));

輸出

兩者的控制檯輸出如下 −

900

更新於:19 年 8 月 2020 日

232 次瀏覽

開啟您的職業生涯

透過完成課程並獲得認證

立即開始
廣告
© . All rights reserved.