这个为什么结果是1呢?

递归函数实现勒让德多项式
用递归函数实现勒让德多项式。并在主函数中求Pn(x)。

#include<iostream>
using namespace std;
double Pn(double n,double x)
{
    int j;
    if(n==0)
       j=1;
    else if(n==1)
        j=x;
    else
       j=((2*n-1)*x*Pn(n-1,x)-(n-1)*Pn(n-2,x))/n;
    return j;
}
int main()
{
    double n,x;
    cin>>n>>x;
    cout<<"P("<<n<<","<<x<<")="<<Pn(n,x);
}


输入 4 1.4
输出 14.0859

int j;改为double j;,否则每次递归结果取整了