如何使用 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.