JS基础的一些逻辑题

1、生成100个p元素,隔行变色(红 黄 蓝 绿 紫)

              for (var i = 1; i < 100; i++) {
                   //追加生成 p标签
                   oDiv.innerHTML += "<p>沧海碧波流</p>";
               }
                 ///获取p标签元素
               var oP = document.getElementsByTagName("p");
                //循环赋予 i= 0,1,2,3,4 5种颜色 i+=5 下一次便从 i=5开始执行代码
               for (var i = 0; i <= 100; i+=5) {
                   oP[i].style.backgroundColor = "red"
                   oP[i + 1].style.backgroundColor = "orange"
                   oP[i + 2].style.backgroundColor = "green"
                   oP[i + 3].style.backgroundColor = "skyblue"
                   oP[i + 4].style.backgroundColor = "purple"
               }
/////////////////新方法   如果以后遇到需要 循环 翻一番 的情况 可以用求余的方法来解决
           for (var i = 1; i < 100; i++) {
           oDiv.innerHTML += "<p style='background:" + arr[i % 5] + "'>沧海碧波流</p>";
       }

2. 计算1-1 00之间的累加和 1+2+3....

              for (var i = 1; i < 100; i++) {
                  sum = sum + i
              }
              console.log(sum);

3.乘法口决表用for、while实现

    <script>
         for (var i = 1; i < 10; i++) {
           /* 行循环 */
             for (var j = 1; j <= i; j++) /* 列循环 */ {
                document.write(" " + j + "x" + i + "" + "=" + j * i);
            }
             document.write("<br>")

**************************while循环***********
            var i=1;
            while (i < 10) {
                /* 行循环 */
         var j = 1;
        while (j <= i)
        /* 列循环 */
        {
            document.write(" " + j + "x" + i + "" + "=" + j * i);
           j++;
         }
         document.write("<br>")
         i++;
        }  
    </script>

4. 求1--100之间,除了35、45、60之外所有5的倍数的和

<script>
        var sum=0
        for (var i = 0; i < 100; i++) {
            if(i!==35 && i!==45 && i!==60 && i%5==0) {
                sum=sum+i;      
            }
        }
        console.log(sum);
    </script>

5. 1-10000 之间能同时被3、5、7 整除的数,输出到页面上,每6个换行

<!-- <script>
    var j=0
    for (var i = 1; i < 1000; i++) {
        if (i % 3 == 0 && i % 5 == 0 && i % 7 == 0) {
                j++;
                document.write(i + " ")
                if( j==6) {
                     document.write("<br>")
                     j=0
                }

        }
      
         
    }
</script>

6. 找出1-100之间是7的倍数或者个位数字是7或者十位数字是7的数字,并输出这些数字,统计有多少个?

       /*   var j = 0;
       for (var i = 1; i < 100; i++) {
           if (i % 7 == 0 || i % 10 == 7 || parseInt(i / 10 == 7)) {
               console.log(i);
               j++;

           }
       }
       console.log("总数是:"+j); */
   </script>

7.找出100-999之间所有的 "水仙花数", 水仙花数————153:一个三位数的每一位的立方数相加刚好等于这个数 153 = 111+555+333 -->

        //   水仙花数
        /*   for (var i = 100; i < 999; i++) {

              //  获取百位  十位  个位
              var bai = parseInt(i / 100);
              // console.log(bai);
              var shi =parseInt(i % 100 / 10) ;
              // console.log(shi);
              var ge = i % 10;
              // console.log(ge);
              if (i == Number(bai * bai * bai + shi * shi * shi + ge * ge * ge)) {
                  console.log(i);
              }

          } */
    </script>

8.公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个?

<script>
**************while循环解决问题*********
        // var j = 0
        // var i = 1;
        // while (i != 0) {
        //     i = (1 + i) * 2;
        //     j++;
        //     if (j == 7) {
        //         break;
        //     }
        //     console.log("这是第" + j + "天");
        //     console.log(i +"个桃子");
        // }
************for循环解决问题**************
        // var t = 1;

        // for (var i = 1; i <= 6; i++) {
        //     t = (t + 1) * 2

        // }

        // document.write("刚开始有" + t + "个桃子");

        // document.write("<hr/>")
    </script>
posted @ 2022-08-14 15:30  傲晨宇  阅读(142)  评论(0)    收藏  举报