/*
用三种方式实现:
使用循环。
使用递归,对 n > 1 执行 sumTo(n) = n + sumTo(n-1)。
使用 等差数列 求和公式.
*/
function sumTo_for(n){
let sum = 0;
for(let i = 0; i<=n; i++) {
sum += i;
}
return sum;
}
function sumTo_recursive(n){
if(n === 0){
return 0;
} else {
return n + sumTo_recursive(n-1);
}
}
function sumTo(type){
switch (type) {
case 'for':
return sumTo_for;
case 'recursive':
return sumTo_recursive;
default:
break;
}
}
console.log(sumTo('for')(1000))
console.log(sumTo('recursive')(1000))