题目描述
求1+2+3+……+𝑁1+2+3+……+N的值。
输入
输入𝑁N。
输出
输出和。
样例
输入数据 1
5
输出数据 1
15
本题属于递归的入门题。
先来想一下一般递归算法的要素吧。
递归三要素:
1.确定递归函数的参数和返回值
2.确定终止条件
3.确定单层递归的逻辑
应用到这个题:
递归求1+2+3+……+𝑁1+2+3+……+N,可以先求一下递归式。
f(n)=f(n-1)+n
f(n-1)=f(n-2)+n-1
...
f(2)=f(1)+2
f(1)=f(0)+1
所以终止条件应为 n=0,递归表达式为 f(n)=f(n-1)+n,返回值应为f(n),
#include<iostream>
using namespace std;
int f(int n)
{
int res=0;
if(n==1)
res=1;
else
{
res=f(n-1)+n;
}
return res;
}
int main()
{
int n;
cin>>n;
cout<<f(n);
}