您的位置:

递乘公式c语言,阶乘公式C语言

本文目录一览:

C语言用函数递推法求1+2+3+...+n

- -###

递归函数有两个基本要素:一个是描述问题规模逐步缩小的递归算法,另一个是描述基本情况的递归终止条件

int Sum(int n)

{

if(n==1)

return 1;

else

return Sum(n-1)+n;

}

C语言:利用递推法计算下列公式:y=1+1/(1*2)+1/(2*3)+1/(3*4)+...要求精确到10的-6次方。

#include stdio.h

void main()

{

double b=1.0,sum=1.0,i=1;

do

{

b=1/(i*(i+1));

sum+=b;

i++;

}while(b=0.000001);

printf("%lf",sum);

}

//运行的结果说1.999001

有关C语言用递推方法的问题

递推算法是一种用若干步可重复运算来描述复杂问题的方法.递推是序列计算机中的一种常用算法。它是按照一定的规律来计算序列中的每个项,通常是通过计算机前面的一些项来得出序列中的指定象的值。其思想是把一个复杂的庞大的计算过程转化为简单过程的多次重复,该算法利用了计算机速度快和不知疲倦的机器特点。

【例】

植树节那天,有五位同学参加了植树活动,他们完成植树的棵树都不相同。问第一位同学植了多少棵时,他指着旁边的第二位同学说比他多植了两棵;追问第二位同学,他又说比第三位同学多植了两棵;... 如此,都说比另一位同学多植两棵。最后问到第五位同学时,他说自己植了10棵。到底第一位同学植了多少棵树?

分析:设第一位同学植树的棵树为a1,欲求a1,需从第五位同学植树的棵数a5入手,根据“多两棵”这个规律,按照一定顺序逐步进行推算:

(1) a5=10;

(2) a4=a5+2=12;

(3) a3=a4+2=14;

(4) a2=a3+2=16;

(5) a1=a2+2=18;

使用这种方法,

第一步先例举一些关系式,找到规律,或者说找到通项公式

第二步找到结束程序的条件值

找到后直接用

if(结束条件)

return 结束时的值

else 通项公式

return 最后的返回值

把这个直接填到被调函数里面就可以了