求和问题的思路比较简单,无非是将所有的项累加起来。对于求和项比较少的情
况,还可以构建如下的算术表达式。
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage41.gif)
但是如果求和项比较多,达到上万或几十万个,按上述的方法构建表达式,可能
会出现问题。这类问题可以归结如下数学模型。
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage55.gif)
如果令
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage56.gif)
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage57.gif)
……
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage59.gif)
则
,计算的过程即计算S的过程。
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage60.gif)
从上述的计算过程可以归纳出如下的递推规律:
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage65.gif)
递推公式为
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage67.gif)
求和的关键是知道第n项和前n-1项之和,从计算前两项之和开始,一直求解到
前n项之和。
求积问题的数学描述为
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage71.gif)
类似的,可以构建递推公式为
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage72.gif)
对于求和问题,一般均采用循环语句来实现,此类问题的关键在于充分理解递推
公式
及如何通过C语言程序的实现。求解此类问
![graphic](http://www.neu.edu.cn/cxsj/pointchart/c10/NotesImages/Topic1NotesImage79.gif)
题的基本步骤,可以概括如下:
定义代表和的变量Sum,定义代表第n项的变量An
令Sum=0;
构建循环体。一般的情况下为Sum=Sum+An;
构建循环条件。根据问题的具体要求,如果确定循环次数,使用for语句;如果
循环函数不确定,则可以使用while或do-while语句。