📄 d9r7f.java
字号:
public class d9r7F
{
double plgndr(double l, double m, double x)
{
int ll, i;
double pmm, somx2, fact, temp, pmmp1, pll=0;
if (m < 0 || m > l || Math.abs(x) > 1.0)
{
System.out.println("bad arguments");
System.exit(1);
}
pmm = 1.0;
if (m > 0)
{
somx2 = Math.sqrt((1.0 - x) * (1.0 + x));
fact = 1.0;
for (i = 1; i <= m; i++)
{
pmm = -pmm * fact * somx2;
fact = fact + 2.0;
}
}
if (l == m)
{
temp = pmm;
}
else
{
pmmp1 = x * (2 * m + 1) * pmm;
if (l == m + 1)
{
temp = pmmp1;
}
else
{
for (ll = (int)m + 2; ll <= l; ll++)
{
pll = x * (2 * ll - 1) * pmmp1 - (ll + m - 1) * pmm;
pll = pll / (ll - m);
pmm = pmmp1;
pmmp1 = pll;
}
temp = pll;
}
}
return temp;
}
void fleg(double x, double pl[], int nl)
{
pl[1] = 1.0;
pl[2] = x;
if (nl > 2)
{
double twox = 2.0 * x;
double f2 = x;
double d = 1.0;
for (int j = 3; j <= nl; j++)
{
double f1 = d;
f2 = f2 + twox;
d = d + 1.0;
pl[j] = (f2 * pl[j - 1] - f1 * pl[j - 2]) / d;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -