如何在不使用 * JavaScript 的情况下获得两个整数的乘积

javascriptweb developmentobject oriented programming更新于 2025/9/26 5:00:17

我们需要编写一个函数,该函数接受两个数字并返回它们的乘积,但不使用 (*) 运算符。

技巧 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

相关文章


有用资源