/*
【例1】 给定n(n>=1),用递归的方法计算1+2+3+4+...+(n-1)+n。
【算法分析】
本题可以用递归方法求解,其原因在于它符合递归的三个条件:
(1)本题是累加问题:当前和=前一次和+当前项,
而前一次和的计算方法与其相同,
只是数据不同s(n)=s(n-1)+n;
(2)给定n,所以是有限次的递归调用;
(3)结束条件是当n=1,则s=1。
【参考程序】
*/
#include<iostream>
using namespace std;
//递归函数
int fac(int);
int main( )
{
int t;
//输入t的值
cin>>t;
//计算1到t的累加和,输出结果
cout<<"s="<<fac(t)<<endl;
return 0;
//NOI LINUX
}
int fac(int n)
{
if (n==1)
{
return 1;
}
return (fac(n-1)+n); //调用下一层递归
}
/*
fac(n-1)=fac(n-2)+n-1
*/