• JS——循环结构经典例题解析与分享


    文章目录

    • 前言
    • 一、求解100以内奇数与偶数各自的和
    • 二、求解1000以内的水仙花数
    • 求解1000以内的素数
    • 打印九九乘法表
    • 五、鸡兔同笼问题
    • 总结


    前言

           前文我们介绍了js中的循环结构(感兴趣的小伙伴欢迎翻阅以往文章)“纸上得来终觉浅,绝知此事要躬行”,掌握了理论知识之后还是要注意与实际应用相结合,本文主要讲述的是关于js的例题解析与分享,希望可以帮助到屏幕前的你。


    一、求解100以内奇数与偶数各自的和

    1.解析:

    1. 首先我们要理解这个例题的需求——是要求和,那就势必要定义变量接收这个结果。在这里要求出奇数与偶数各自的和,所以要定义两个变量。
    2. 其次,我们可以发现求和的这个过程是重复的,虽然在这里我们应该采用循环结构实现。

    2.js实现过程:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. head>
    9. <body>
    10. <script>
    11. var even = 0;
    12. var odd = 0;
    13. for(var i=1;i<101;i++){
    14. if(i % 2 == 0){
    15. even+=i;
    16. }else{
    17. odd+=i;
    18. }
    19. }
    20. document.write('100以内的偶数和是'+even+'\n');
    21. document.write('100以内的奇数和是'+odd);
    22. script>
    23. body>
    24. html>


    二、求解1000以内的水仙花数

    1.解析:

    1. 首先我们要明白什么是水仙花数——水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。
    2. 其次,1000以内的水仙花数,那这个数字一定是三位数,所以变量的初始值与结束值应该在100-999之间。
    3. 1^3 + 5^3 + 3^3 = 153,依据这个关系,我们只要办法求解出这个数字的百位数、十位数、以及个位数并用变量接收这三个数字,再根据它是否满足水仙花数的判断调价——1^3 + 5^3 + 3^3 = 153,即可

    2.js实现过程:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. head>
    9. <body>
    10. <script>
    11. // 定义变量接收三位数字
    12. var a = 0;
    13. var b = 0;
    14. var c = 0;
    15. // 定义接收变量接收三位数字次方的和
    16. var s = 0;
    17. for (var i = 100; i <= 999; i++) {
    18. // 分解出百位数
    19. a = parseInt(i / 100);
    20. // 分解出十位数
    21. b = parseInt((i % 100) / 10);
    22. // 分解出个位数
    23. c = i % 10;
    24. s = (a * a * a) + (b * b * b) + (c * c * c);
    25. // 判断语句
    26. if (i == s) {
    27. document.write('1000以内的水仙花数是:' + s);
    28. document.write('
      '
      );
    29. }
    30. }
    31. script>
    32. body>
    33. html>

    三、求解1000以内的素数

    1.解析:

    1. 首先我们要弄清楚什么是素数——素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
    2. 如何判断是素数,在这里我选择使用一个标识符并定义其初始值为true,在循环结构内遍历100以内的数字时,监测这个标识符的值是否发生改变。

    2.js实现过程:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. head>
    9. <body>
    10. <script>
    11. // 使用for循环遍历1-100之间的数字
    12. for (var i = 1; i <= 100; i++) {
    13. // 定义标识符并赋予初始值true
    14. var flag = true;
    15. // 根据素数的含义,定义循环结构
    16. for (var j = 2; j < i; j++) {
    17. //求解若不是质数,则表示符的值更改为false
    18. if (i % j == 0) {
    19. flag = false;
    20. break;
    21. }
    22. }
    23. //判断是质数并输出结果
    24. if (flag == true) {
    25. document.write(i);
    26. document.write('
      '
      );
    27. }
    28. }
    29. script>
    30. body>
    31. html>

    四、打印九九乘法表

    1.解析:

     

    1. 在实现之前,我们可以先观察上图九九乘法表的结构,最主要的问题,我们应该定义两个变量控制行数和列数,再考虑每一项目的输出打印结构

    2.js实现过程:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. head>
    9. <body>
    10. <script>
    11. // 定义外层循环控制行数
    12. for (var i = 1; i <= 9; i++) {
    13. // 定义内层循环内控制列数
    14. for (var j = 1; j <= i; j++) {
    15. // 实现每一项的输出打印
    16. document.write(j + '*' + i + '=' + (i * j) + '   ');
    17. }
    18. // 换行语句
    19. document.write('
      '
      );
    20. }
    21. script>
    22. body>
    23. html>

    五、鸡兔同笼问题

    题目: 鸡兔同笼  一共50只 ,脚160 ,求鸡多少只 ,兔子多少只。

    1.解析:

    1. 鸡兔同笼的问题十分的经典也是童年里的一道必做题,可以通过列方程式来解决,在这里我们也可以利用这个思想解决这个问题。
    2. 这里有两个未知数就是兔子和鸡的数量,所以可以定义两个变量表示,再根据题目里的条件判断即可。

    2.js实现过程:

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. head>
    9. <body>
    10. <script>
    11. // 外层结构定义变量表示鸡的数量
    12. for (var i = 1; i <= 50; i++) {
    13. // 内层结构定义变量表示兔子的数量
    14. for (var j = 1; j <= 50; j++) {
    15. if (2 * i + 4 * j == 160 && i + j == 50) {
    16. document.write('鸡共有' + i + '只' + '\n');
    17. document.write('
      '
      );
    18. document.write('兔共有' + j + '只');
    19. }
    20. }
    21. }
    22. script>
    23. body>
    24. html>

    总结

    好了,以上就是今天所要分享的内容,最后依旧诚挚祝福看到这篇文章的你健康快乐、平安幸福。

  • 相关阅读:
    企业如何通过媒体宣传扩大自身影响力
    【信息融合】基于matlab BP神经网络和DS证据理论不确定性信息融合问题【含Matlab源码 2204期】
    怎样学习C#上位机编程?
    自动驾驶---OpenSpace之Hybrid A*规划算法
    LINUX之进程管理
    熊孩子说“你没看过奥特曼”,赶紧用Python学习一下,没想到
    Ubuntu20.04 开机卡在[OK] Started ****,无法正常开机
    河流动力学复习
    Web权限&权限划分
    阿里面试(持续更新)
  • 原文地址:https://blog.csdn.net/Bonsoir777/article/details/126240446