循环语句应用

循环语句应用

穷举思想

穷:穷尽,举:列举

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

穷举思想制作方法

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

案例

  • 请在控制台输出 6 的所有约数。
  • a % b = 0,a 叫做 b 的倍数,b 叫做 a 的约数。
  • 约数也叫作因数。
  • 从可能性中一一列举,筛选。
  • 一个数的约数只能是小于等于自己的数。
案例思路
  1. 6 的约数可能性有1-6 之间。
  2. 看 1,是 6 的约数,输出
  3. 看 2,是 6 的约数,输出
  4. 看 3,是 6 的约数,输出
  5. 看 4,不是 6 的约数,跳过
  6. 看 5,不是 6 的约数,跳过
  7. 看 6,是 6 的约数,输出
for (var i = 1; i <= 6; i++) {
    if (6 % i == 0) {
        console.log(i);
    }
}

累加器

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

案例

  • 求 1-10 之间所有数字的和。
var n = 0;(必须写在循环外,不然n会被重置)
for (var i = 1; i <= 10; i++) {
    n += i;
}
console.log(n);(写在循环外,输出最终累加的值)
注意事项
  • 累加器必须定义在循环外面的前面,如果定义在循环内部,每次循环都会将累加器重置,不能实现累加功能。
  • 累加器的初始值必须设置,而且必须设置为 0,不会影响累加结果。
  • 使用最终累加结果时,必须在 for 循环结束后的外面,如果写在循环内部,循环没结束,并不是最终需要的值。

累乘器

案例累乘

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

  • 求 1 到 10 的累乘的乘积,也叫作 10!,阶乘。
  • 10! = 10 * 9 * 8 * 7 * 6 *5 * 4 * 3 * 2 *1
var n = 1;
for (var i = 10; i >= 1; i--) {
    n *= i;
}
console.log(n);

注意

  • 累乘器必须定义在循环外部前面。
  • 累乘器的初始值必须是 1,1 乘以任何数都等于本身。
  • 累乘器最终结果必须在 for 循环结束后使用。

综合案例

水仙花数

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

for (var i = 100; i <= 999; i++) {
    var ge = i % 10,
        shi = parseInt(i / 10) % 
10,
        bai = parseInt(i / 100);
    var sum = ge * ge * ge + shi 
* shi * shi + bai * bai * bai;
    if (sum == i) {
        console.log(i);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值