直接return (num+1)*num/2;
等差数列求和公式一套用就行了
递归
或者
sum=n*(n+1)/2;
用递归
function Sum(n) {
//递归
if (n === 1) return 1;
return n + Sum(n - 1)
}
Sum(5)
等差数列求和公式:n*(n+1)/2
两种办法,都是一行代码即可,满意请采纳
递归
function sum(num) {
return num === 1 ? 1 : num + sum(num - 1)
}
求和公式
function sum(num) {
return (num+1) * num / 2;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let num = 2, startindex = 1;
var sum = 0;
// 方法-
// sum = (startindex + num) * num / 2
// console.log(sum)
// 方法二
// function total(star, end) {
// sum += star;
// star++;
// if (star <= end) {
// arguments.callee(star, end)
// }
// }
// console.log(total(startindex, num), sum, '==total')
// 方法三
while (startindex <= num) {
sum += startindex;
startindex++
}
console.log(sum, '==sum')
</script>
</body>
</html>