如何在不使用* 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