C语言怎样用递归方法编写程序 求s=1!+2!+3!+...10!

C语言怎样用递归方法编写程序 求s=1!+2!+3!+...10!,第1张

提供思路,如果使用递归,主要针对正返阶乘,因此,在主函数里提供十个数相加,用循环,然后重新定一个函数,在函数里提供递归的算法,即不断调用直至结束得到结果,然后相加就行。

如果不是使用递归,可使用上一次的结果睁则乘举早饥以新增的数字,然后依次相加即可。

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

#include<stdlib.h>

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)取决满足如下的正交关系式:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12418716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存