如何使用乘法函数来执行指数函数?
How to use a multiply function to execute an exponent function?
所以我有一个任务是创建一个添加函数。然后创建一个不使用运算符并使用 add 函数的 multiply 函数。现在我需要使用这个乘法函数来创建一个幂(指数)函数。这是我目前的尝试:
function add(a, b){
return a + b;
}
// console.log(add(6, 4))
function multiply(first, second){
let i = 0;
let answer = 0;
while(i < second){
answer += add(first, 0);
i += 1;
}
return answer;
}
// let m = multiply(10, 4)
// console.log(m);
function power(x, n){
let i = 0;
let answer = multiply(x, x);
let total = 1;
while(i < n){
total += multiply(x, answer)
i += 1;
}
return total;
}
let p = power(2, 4)
console.log(p)
我似乎被困在这里,因为我所做的任何更改都没有帮助。关于这个有什么建议吗?
这应该是正确的函数:
function power(x, n){
let i = 1;
let total = x;
while(i < n){
total = multiply(total,x)
i += 1;
}
return total;
}
你是把每次乘法的结果相加,其实你只想得到最后的乘法结果。另外,索引是错误的。
我认为你在那里所做的是将 n 乘以 x^3,然后将其加 1。
因为总和等于 1。而答案等于 x^2,则乘法 (x,answer) 将得到 x^3。您在每次迭代中将 x^3 添加到总计中,因此总计将为您提供 1+(n*x^3)
我建议你试试这个:
function power(x, n){
let i = 0;
let answer = 1;
while(i < n){
answer = multiply(x, answer)
i += 1;
}
return answer;
}
所以我有一个任务是创建一个添加函数。然后创建一个不使用运算符并使用 add 函数的 multiply 函数。现在我需要使用这个乘法函数来创建一个幂(指数)函数。这是我目前的尝试:
function add(a, b){
return a + b;
}
// console.log(add(6, 4))
function multiply(first, second){
let i = 0;
let answer = 0;
while(i < second){
answer += add(first, 0);
i += 1;
}
return answer;
}
// let m = multiply(10, 4)
// console.log(m);
function power(x, n){
let i = 0;
let answer = multiply(x, x);
let total = 1;
while(i < n){
total += multiply(x, answer)
i += 1;
}
return total;
}
let p = power(2, 4)
console.log(p)
我似乎被困在这里,因为我所做的任何更改都没有帮助。关于这个有什么建议吗?
这应该是正确的函数:
function power(x, n){
let i = 1;
let total = x;
while(i < n){
total = multiply(total,x)
i += 1;
}
return total;
}
你是把每次乘法的结果相加,其实你只想得到最后的乘法结果。另外,索引是错误的。
我认为你在那里所做的是将 n 乘以 x^3,然后将其加 1。 因为总和等于 1。而答案等于 x^2,则乘法 (x,answer) 将得到 x^3。您在每次迭代中将 x^3 添加到总计中,因此总计将为您提供 1+(n*x^3)
我建议你试试这个:
function power(x, n){
let i = 0;
let answer = 1;
while(i < n){
answer = multiply(x, answer)
i += 1;
}
return answer;
}