递归函数指数函数
Recursive function exponential function
我需要在泰勒行的帮助下实现递归函数指数函数 (e^x):
e^x = 1 + x + x2/2! + x3/3! + ...
但我不明白我做错了什么
我有下一个代码:
function fact(n){
return n * fact(n - 1);
}
function myPow(x, n){
return x * myPow(x, n - 1);
}
function expon(x ,n){
if(n == 1){
return expon(x, n - 1) * x;
}
else{
return expon(x, n - 1) + (myPow(x, n)/fact(n));
}
}
console.log(expon(1, 10));
您的阶乘函数没有基本情况。
function fact(n) {
if (n == 1)
return 1;
if (n < 1)
return 0;
return n * fact(n - 1);
}
myPow
需要进行类似的更改。虽然权力很有趣,但我认为 if n == 0 return 1.
您的代码应如下所示:
function fact(n){
if (n == 1)
return 1;
return n * fact(n - 1);
}
function myPow(x, n){
if(n == 1)
return n;
return x * myPow(x, n - 1);
}
function expon(x ,n){
if(n == 1){
return 1;
}
else{
return expon(x, n - 1) + (myPow(x, n)/fact(n));
}
console.log(expon(1, 10));
这看起来像是一项作业,所以我不会调试您的代码,但会给您一些提示。
你好像没明白递归是怎么结束的,最后给出一个结果
您必须提供一个简单的案例,您 return 一个非递归调用的值。
有时你不写任何 if
(糟糕!),有时有 if
,但两种情况都使用递归调用。
我需要在泰勒行的帮助下实现递归函数指数函数 (e^x): e^x = 1 + x + x2/2! + x3/3! + ... 但我不明白我做错了什么 我有下一个代码:
function fact(n){
return n * fact(n - 1);
}
function myPow(x, n){
return x * myPow(x, n - 1);
}
function expon(x ,n){
if(n == 1){
return expon(x, n - 1) * x;
}
else{
return expon(x, n - 1) + (myPow(x, n)/fact(n));
}
}
console.log(expon(1, 10));
您的阶乘函数没有基本情况。
function fact(n) {
if (n == 1)
return 1;
if (n < 1)
return 0;
return n * fact(n - 1);
}
myPow
需要进行类似的更改。虽然权力很有趣,但我认为 if n == 0 return 1.
您的代码应如下所示:
function fact(n){
if (n == 1)
return 1;
return n * fact(n - 1);
}
function myPow(x, n){
if(n == 1)
return n;
return x * myPow(x, n - 1);
}
function expon(x ,n){
if(n == 1){
return 1;
}
else{
return expon(x, n - 1) + (myPow(x, n)/fact(n));
}
console.log(expon(1, 10));
这看起来像是一项作业,所以我不会调试您的代码,但会给您一些提示。
你好像没明白递归是怎么结束的,最后给出一个结果
您必须提供一个简单的案例,您 return 一个非递归调用的值。
有时你不写任何 if
(糟糕!),有时有 if
,但两种情况都使用递归调用。