【70】JS(4)——表达式和语句②流程控制语句(3)综合

★文章内容学习来源:拉勾教育大前端就业集训营


本篇学习目标:
1.理解穷举思想、累加器、累乘器实现原理;
2.能够综合利用流程控制语句实现小案例。


目录

  • 一、穷举思想
    • 1.介绍
    • 2.制作方法
    • 3.案例
  • 二、累加器
    • 1.介绍
    • 2.注意事项
        • (1)累加器必须定义在循环外面的前面
        • (2)初始值必须设置为 0
        • (3)使用最终累加结果时,必须在 for 循环结束后的外面
    • 3.案例
  • 三、累乘器
    • 1.介绍
    • 2.注意事项
        • (1)累乘器必须定义在循环外部前面
        • (2)初始值必须是 1
        • (3)使用最终累乘结果时,必须在 for 循环结束后的外面
    • 3.案例
  • 四、案例应用



一、穷举思想

1.介绍

  • 穷:穷尽,举:列举
  • 实际案例中,可能需要找到一些有规律的数据,但是计算机没办法自动智能筛选所要的数据,只能程序员自己书写一段代码,让计算机根据代码去进行筛选。
  • 穷举思想:是一种解决问题的方法,将所有的需要数据所在的范围内所有的数据都一一列举出来,再根据规律的条件对所有这些数据进行筛选,这种方式就是穷举法。

2.制作方法

  • for 循环:外层使用 for 循环进行一一列举。
  • if 语句:内层用 if 语句进行判断,筛选需要的数据,如果满足条件就操作数据,如果不满足条件跳过看下一次循环的数据。

3.案例

案例1:请在控制台输出 6 的所有约数。
注意:
a % b = 0,a 叫做 b 的倍数,b 叫做 a 的约数。
约数也叫作因数。
从可能性中一一列举,筛选。
一个数的约数只能是小于等于自己的数。

  • 案例思路:
    6 的约数可能性有1-6 之间。
    看 1,是 6 的约数,输出
    看 2,是 6 的约数,输出
    看 3,是 6 的约数,输出
    看 4,不是 6 的约数,跳过
    看 5,不是 6 的约数,跳过
    看 6,是 6 的约数,输出
    *代码如下:
    //穷举思想:请在控制台输出 6 的所有约数。
    var a = 6;
    for (var b = 1 ; b < a ; b++) {
     
        if (a % b == 0) {
     
            console.log(b + "是" + a +"的约束");
        }
    }

【70】JS(4)——表达式和语句②流程控制语句(3)综合_第1张图片

案例2:请让用户任意输入一个数字,控制台自动判断出所有这个数的约数。

    var i = prompt("请输入一个整数","6");
    for (var n = 1; n < i ; n++) {
     
        if (i % n == 0) {
     
            console.log(n + "是" + i + "的一个约数");
        }
    }



二、累加器

1.介绍

  • 有时候需要的不是每个数据是什么,需要得到所有数据的加和,必须想办法将所有的数据的和存起来,就用到了累加器。
  • 累加器本质就是变量
  • 实现累加的效果,就是利用循环每次循环就将新的数据加到原始的变量中去,赋值过程是一个加等于赋值

2.注意事项

(1)累加器必须定义在循环外面的前面

  • 累加器必须定义在循环外面的前面,如果定义在循环内部,每次循环都会将累加器重置,不能实现累加功能。

(2)初始值必须设置为 0

  • 累加器的初始值必须设置,而且必须设置为 0,不会影响累加结果。(因为0加任何数都等于任何数)

(3)使用最终累加结果时,必须在 for 循环结束后的外面

  • 使用最终累加结果时,必须在 for 循环结束后的外面,如果写在循环内部,循环没结束,并不是最终需要的值。

3.案例

求 1-10 之间所有整数的和。

//定义累加器
sum = 0;
for (var i = 0; i <= 10; i ++ ) {
     
    //用加等于赋值实现累加
    sum += i ;  //等价于sum = sum + i
}
//输出累加结果
console.log (sum);

【70】JS(4)——表达式和语句②流程控制语句(3)综合_第2张图片



三、累乘器

1.介绍

  • 累积一些数据的乘积。与累加器非常类似。

2.注意事项

(1)累乘器必须定义在循环外部前面

  • 累乘器必须定义在循环外部前面

(2)初始值必须是 1

  • 累乘器的初始值必须是 1,1 乘以任何数都等于本身。

(3)使用最终累乘结果时,必须在 for 循环结束后的外面

  • 累乘器最终结果必须在 for 循环结束后使用。

3.案例

求10的阶乘(10!)。

     //定义累乘器
     var mul = 1;
     for (i = 10 ; i >= 1 ; i--) {
     
         //用乘等于赋值,实现累乘
         mul *= i;  //mul = mul * i 
     }
     //输出最后结果
     console.log(mul);

【70】JS(4)——表达式和语句②流程控制语句(3)综合_第3张图片



四、案例应用

水仙花数是一种特殊的三位数,它的特点就是,每个数位的三次方和,等于它本身。
请编程找出来。

       //穷举思想找出所有三位数:
     for (i = 100 ; i <= 999 ; i ++) {
     
         //找到i的个位十位百位
         var g = i % 10;
         var s = parseInt(i / 10) % 10;
         var b = parseInt( i / 100) ;
         //判断每个数位的三次方和是否等于i本身
         if (g*g*g +s*s*s + b*b*b == i) {
     
             console.log(i+"是水仙花数");
         }
     }

【70】JS(4)——表达式和语句②流程控制语句(3)综合_第4张图片


下篇继续:
【71-79】Java Script学习——阶段2
【71】JS(5)——数组

你可能感兴趣的:(前端学习中,js,javascript,流程控制语句,穷举,累加累乘)