1樓:莫道無情
#define _crt_secure_no_warnings#include
#include
double legendre(int n, int x) {if (n == 0) {
return 1;
if (n == 1) {
return x;
return ((2 * n - 1)*x - legendre(n - 1, x) - (n - 1)*legendre(n - 2, x)) / n;
void main() {
int n;
int x;
printf("請輸入n的值和x的值\n");
scanf("%d %d", &n, &x);
printf("p%d(%d) = %f\n", n, x, legendre(n, x));
system("pause");
擴充套件資料:勒讓德多項式
勒讓德多項式是下列勒讓德微分方程的多項式解:
其中n 為正整數。
生成函式
勒讓德多項式的生產函式為
前幾個勒讓德多項式:
正交關係
勒讓德多項式在(-1,1)取決滿足如下的正交關係式:
2樓:
剛剛做了下,比較簡單,注意幾個容易錯誤的地方,一是函式返回值注意是浮點型的,所以函式定義應該是float型或者double型的,不要定義成int型了,第二就是注意遞迴公式中最後那個除以n,是多項式的和整體除以n,不要只看成最後一個因式除以n就可以了(貌似老哥給出的遞迴公式給錯了+…+)。最後一點就是輸出值的時候,因為是浮點型的值輸出應該用%f型,不要用錯了就ok啦。
3樓:金魚
#include
#include
float myfunction(int n,int x)else if (1 == n)
else
}int main()
4樓:匿名使用者
根據上面的表示式,我們知道了n = 0,n = 1的表示式的值。讓n >= 1是,它會產生遞迴呼叫,因此我們能很快的寫出程式,**如下:
#include
float myfunction(int,int);
int main(int argc, char *argv)float myfunction(int n,int x)else if (1 == n)
else}
程式設計,求n階勒讓德多項式(遞迴)
5樓:願之守護者
#include
#include
float myfunction(int n,int x)else if (1 == n)
else
}int main()
c語言:用遞迴方法編寫程式,求n階勒讓德多項式的值
6樓:莫道無情
#define _crt_secure_no_warnings#include
#include
double legendre(int n, int x) {if (n == 0) {
return 1;
if (n == 1) {
return x;
return ((2 * n - 1)*x - legendre(n - 1, x) - (n - 1)*legendre(n - 2, x)) / n;
void main() {
int n;
int x;
printf("請輸入n的值和x的值\n");
scanf("%d %d", &n, &x);
printf("p%d(%d) = %f\n", n, x, legendre(n, x));
system("pause");
擴充套件資料:勒讓德多項式
勒讓德多項式是下列勒讓德微分方程的多項式解:
其中n 為正整數。
生成函式
勒讓德多項式的生產函式為
前幾個勒讓德多項式:
正交關係
勒讓德多項式在(-1,1)取決滿足如下的正交關係式:
7樓:
double pn(double n,double x)main()
這個比較簡單
但是當n,x過大就不行了
不知道是不是超出範圍
望樓主採納
8樓:匿名使用者
#include
#include
float myfunction(int n,int x)else if (1 == n)
else
}int main(int argc, char *argv)
c語言 用遞迴法求n階勒讓德多項式的值
9樓:來自桃花江助人為樂的銀柳
#include
float p (int n,int x)else if(n==0)
else if (n==1)
else if (n>1)
return f;
}void main ()
10樓:
#include
float p (int n,int x)void main ()
程式已經可以執行了,但不知道這是幹嘛的。。。
用遞迴方法編寫程式 求n階勒讓德多項式的值
11樓:風若遠去何人留
遞迴公式
1 (n=0)
pn(x)=x (n=1)
((2n-1)xpn-1(x)-(n-1)pn-2(x))/n (n>1)
**:#include
float myfunction(int n,int x)else if (1 == n)
else
}int main()
.用遞迴方法求n階勒讓德多項式的值,遞迴公式為
12樓:聽不清啊
#include "stdio.h"
double fun(int n,double x){if(n==0)return 1;
else if(n==1)return x;
else return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n;
int main()
{int n;
double x;
printf("input n&x:");
scanf("%d,%lf",&n,&x);
printf("p%d(%g)=%.2lf\n",n,x,fun(n,x));
return 0;
13樓:雲彩飛揚舞
legendre多項式有三項遞推關係(n+1)p_(x)=(2n+1)xp_n(x)-np_(x)p_0(x)=1,p_1(x)=x按這個遞推關係算就行了
c語言 用遞迴法求n階勒讓德多項式的值
保冬萱 如下 include define x 2 float p int n main float p int n 沒有執行果,改了點語法錯誤,你試試,不行追問就行 具體 如下 include main float p int n 1主函式在後 2定義常量在主函式前面 3if的條件我看有點暈,把題...
c語言,用遞迴方法求一個整數a的n次方
long long p int a,int n 這就是那個遞迴的函式,主函式自己寫一下吧。c語言 用遞迴方法求x的n次方 兩個錯誤 1.按演算法n小於0時,62616964757a686964616fe59b9ee7ad9431333365656633y 1 fun x,n 1 x 2.第二個條件應...
c語言遞迴求階乘,c語言怎麼用遞迴呼叫函式的方法求n的階乘?
問明 舉例 用遞迴方法求n include int main int n int y printf input a integer number scanf d n y fac n printf d d n n,y return 0 int fac int n int f if n 0 printf...