C语言之函数调用14—递归法打印勒让德多项式前N项

//递归法

/*

==================================================================

题目:勒让德多项式

==================================================================

*/

#include <stdio.h>

double p(int n,double x)

{

if(n==0)return 1.0;

else if(n==1)return x;

else return ((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;

}

main()

{

int n,i,k=0;

double x,r;

printf("输入参数:\nx=");

scanf("%lf",&x);

printf("你想输出多少项?\nn=");

scanf("%d",&n);

for(i=0;i<n;i++)

{

r=p(i,x);

printf("%25.0lf  ",r);

k++;

if(k%3==0)

printf("\n");

}

printf("\n");

}

/*

======================================================================

评:简单递推,建立函数,引用即可!

========================================================================

*/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-25 11:11:58

C语言之函数调用14—递归法打印勒让德多项式前N项的相关文章

C语言之函数调用13—递归法求N阶勒让德多项式的值

//递归法! /* ======================================================= n阶勒让德多项式,n=1时,Pn(x)=x;n>=1时, Pn(x)=((2n-1)x-Pn-1(x)-(n-1)Pn-2(x))/2. ======================================================= */ #include <stdio.h> #include <math.h> double p(

C语言之函数调用16—递归法之一般函数的调用

//递归法 /* ================================================================== 题目:F(x,1)=1 F(x,n)=F(2x+1,n-1)*x  (n>1) ================================================================== */ #include<stdio.h> double F(float x,int n) { if(n==1) return

C语言之函数调用17—递归法之一般函数的调用(2)

//递归法 /* ================================================================== 题目:求F(60),其中F(n)定义如下: F(0)=0; F(1)=1; F(2n)=f(n)+3; F(2n+1)=F(n)+F(2n-1). ================================================================== */ #include<stdio.h> double F(in

C语言之函数调用17—递归法之中的一个般函数的调用(2)

//递归法 /* ================================================================== 题目:求F(60),当中F(n)定义例如以下: F(0)=0; F(1)=1; F(2n)=f(n)+3; F(2n+1)=F(n)+F(2n-1). ================================================================== */ #include<stdio.h> double F(

C语言之函数调用11—递归法求Hermite函数

/*递归法! ========================================== 题目: Hermite 函数:输入n.x,求Hn(x)? H0(x)=1; H1(x)=2*x; Hn(x)=2*x*Hn-1(x)-2*(n-1)Hn-2(x); ========================================== */ #include<stdio.h> float H(int n,int x) { if(n==0) return 1; if(n==1) r

C语言之函数调用12—递归法求阿克曼函数

//递归法! /* =========================================== 题目:编写阿克曼函数的递归函数程序! A(m,n)= n+1                (m=0) A(m-1,1)       (m=0) A(m-1,A(m,n-1))            (m!=0,n!=0) =========================================== */ #include<stdio.h> int A(int m,int n)

使用递归法打印出一个目录里的所有文件

import java.io.File; public class ExFile{ public void ff(String s){ try{ File fl=new File(s); fl.createNewFile(); String[] a=fl.list(); //for(int i=0;i<a.length;i++){ // System.out.println(a[i]);} for(int i=0;i<a.length;i++){ File fl1=new File(s,a[i

C语言之函数调用19—总结

C程序的函数调用共涵盖18个例题,包含了递归.递推.字符串操作.矩阵操作.格式输出等内容. 相比之前的基本算法,函数调用已经初见其效率,至此,相信大家对函数调用也有了比较好的认识,就是先表达出功能,当要解决问题时,只要简单调用即可.我们常常会听说C的强大,也是因为她有着调用函数的功能,而且函数可以自己实现. 接下来作者会推出文件操作的基础编程方法,希望大家能够共同进步. 不积跬步无以至千里!共勉! 二〇一五年八月二日  夜 附: C语言之函数调用18-多字符串排序 2015-08-02 01:0

【C语言】求斐波那契(Fibonacci)数列通项(递归法、非递归法)

意大利的数学家列昂那多·斐波那契在1202年研究兔子产崽问题时发现了此数列.设一对大兔子每月生一对小兔子,每对新生兔在出生一个月后又下崽,假若兔子都不死亡.   问:一对兔子,一年能繁殖成多少对兔子?题中本质上有两类兔子:一类是能生殖的兔子,简称为大兔子:新生的兔子不能生殖,简称为小兔子:小兔子一个月就长成大兔子.求的是大兔子与小兔子的总和. 月     份  ⅠⅡ  Ⅲ  Ⅳ  Ⅴ Ⅵ  Ⅶ  Ⅷ Ⅸ Ⅹ  Ⅺ  Ⅻ大兔对数 1  1   2   3   5  8  13  21 34 55