// 1.求和1~100的和。
// 2.求等差数列的和。(公式: 首项+(N-1)*公差 )
// 3.求数组中指定项的和。(公式: 开始值和结束值一样大就结束了 )
// 1.求和1~100的和。
function fn1(n) {
// 等于1的时候直接返回
if (n == 1) {
return 1
}
// 求1-100的和 就用100+ 1~99的和
return n + fn1(n - 1)
}
// 调用
console.log(fn1(100))
// 2.求等差数列的和。(公式: 首项+(N-1)*公差 )
function fn2(f, d, n) { // f是首项 d是公差 n是有几个
// n 等于1的时候 就是首项
if (n == 1) {
return f
}
return f + d * (n - 1) + fn2(f, d, n - 1)
}
// 调用
console.log(fn2(4, 3, 5));
// 3.求数组中指定项的和。(公式: 开始值和结束值一样大就结束了 )
function fn3(arr, s, e) {
// 判断 如果开始和索引值相同 那么返回元素就可以了
if (s == e) {
return arr[s]
}
return arr[s] + fn3(arr, s + 1, e) // 从前往后加
// return arr[e] + fn3(arr, s, e - 1) // 从后往前加
}
// 调用
console.log(fn3([2, 4, 6, 8, 10], 0, 4));
递归案例 求和 求等差和 数组中指定和
最新推荐文章于 2023-12-31 10:24:04 发布