我们需要编写一个包含两个数字并返回其乘积的函数,但不使用(*)运算符。
技巧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