题单:递归求和
宣布一个重要的事情,我的洛谷有个号叫
题目描述
给一个数组 a:a[0],a[1],...,a[n−1]a:a[0],a[1],...,a[n−1] 请用递归的方式出数组的所有数之和。
提示:递推方程 f(x)=f(x−1)+a[x]f(x)=f(x−1)+a[x];
输入格式
第一行一个正整数 n (n≤100)n (n≤100)
第二行 nn 个空格隔开的正整数 ai (ai≤10000)ai (ai≤10000)
输出格式
一个正整数表示所有数之和。
样例 #1
样例输入 #1
5
1 2 3 4 5
样例输出 #1
15
#include<bits/stdc++.h>
using namespace std;
int a[105];
int f(int n)
{if(n==1){return a[1];}else{return f(n-1)+a[n];}
}
int main(){int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}cout<<f(n);return 0;
}