1.累加求和:1+2+3+...+n
(function (n) {
var sum = 0; //累加和变量sum初始化为0
for (var i = 1; i <= n; i++) {
sum += i; //做累加运算
}
console.log(sum); //5050
})(100);
2.累乘求积:n!
(function (n) {
var fac = 1; //累乘积变量fac初始化为1
for (var i = 1; i <= n; i++) {
fac *= i; //做累乘运算
}
console.log(fac); //3628800
})(10);
3.累加求和:1!+2!+3!+...+n!
(function (n) {
var sum = 0, //累加求和变量sum初始化为0
fac = 0;
for (var i = 1; i <= n; i++) {
fac = 1; //每次循环之前都要将累乘求积变量fac赋值为1
for (j = 1; j <= i; j++) {
fac *= j; //累乘求积
}
sum += fac //累加求和
}
console.log(sum); //4037913
})(10); //嵌套循环
(function (n) {
var sum = 0,fac = 1; //累加求和及累乘求积变量分别初始化为0和1
for (var i = 1; i <= n; i++) {
fac *= i; //根据后项与前项之间的关系计算累加项(即通项)
sum += fac
}
console.log(sum); //4037913
})(10); //单循环(性能更好)
注意: 编写累加求和程序的关键在于寻找累加项(即通项)的构成规律。通常,当累加的项较为复杂或者前后项之间无关时,需要单独计算每个累加项。而当累加项的前项与后项之间有关时,则可以根据累加项的后项与前项之间的关系,通过前项来计算后项。