循环 for

294 阅读1分钟

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); //单循环(性能更好)

注意: 编写累加求和程序的关键在于寻找累加项(即通项)的构成规律。通常,当累加的项较为复杂或者前后项之间无关时,需要单独计算每个累加项。而当累加项的前项与后项之间有关时,则可以根据累加项的后项与前项之间的关系,通过前项来计算后项。