我们需要编写一个包含两个数字并返回其乘积的函数,但不使用(*)运算符。
我们知道乘法和除法只是彼此的逆,因此,如果将一个数字除以另一个数字的逆,就等于将两个数字相乘吗?
我们来看一下代码-
const a = 20, b = 45; const product = (a, b) => a / (1 / b); console.log(product(a, b));
让我们首先检查对数的属性-
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