美文网首页
循坏练习

循坏练习

作者: HDhandi | 来源:发表于2018-06-19 19:35 被阅读0次

刚刚我们说了循环,那接下来,我们也做几道练习题吧

1 ,用javascript打印出1-100之间奇数之和

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>奇数之和</title>
    <script type="text/javascript">
        /*打印1-100之间所有奇数之和*/
        //保存奇数之和
        // var sum = 0;
        //打印1-100之间的数
        for(var i=1,sum=0; i<=100; i++){
            //判断i是否是奇数
            //不能被2整除的数是奇数
            if(i % 2 != 0){
                //如果i除以2有余数则证明i是奇数
                // console.log(i);
                sum += i;
                }
        }
        console.log("奇数之和为:" + sum);
    </script>
</head>
<body>

</body>
</html>

2,用javascript打印1-100之间所有7的倍数的个数及总和

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>7的倍数</title>
    <script type="text/javascript">
        /*打印1-100之间所有7的倍数的个数及总和*/
        //定义一个变量,来保存总和
        var sum = 0;
        //定义一个计数器,来记录数量
        var count = 0;
        //打印1-100之间的数
        for(var i=1; i<=100; i++){
            //判断i是否是7的倍数
            if (i % 7 == 0) {
                // console.log(i);
                sum += i;
                //使计数器自增
                count++;
            }
        }
        console.log("总和为:" + sum);
        console.log("个数为:" + count);
    </script>
</head>
<body>

</body>
</html>

3,用javascript水仙花数

水仙花数是指一个3位数,它的每个位上的数字的3 次幂之和等于它本身。
(例如:1^3 + 5^3 + 3^3 = 153),请打印所有的水仙花数。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>水仙花数</title>
    <script type="text/javascript">
        /*水仙花数是指一个3位数,它的每个位上的数字的3 次幂之和等于它本身。
(例如:1^3 + 5^3 + 3^3 = 153),请打印所有的水仙花数*/
        //打印所有的三位数
        for(var i=100; i<1000; i++){
            //获取i的百位、十位、个位的数字
            //获取百位数字
            var bai = parseInt(i/100);
            //获取十位的数字
            var shi = parseInt((i-bai*100)/10);
            //获取个位数字
            var ge = i % 10;
            //判断i是否是水仙花数
            if(bai**3 + shi**3 + ge**3 == i){
                console.log(i);
            }
        }
    </script>
</head>
<body>

</body>
</html>

4,在页面中接收一个用户输入的数字,并判断该数是否是质数。

  • 质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>是否是质数</title>
    <script type="text/javascript">
        /*
        在页面中接收一个用户输入的数字,并判断该数是否是质数。
        质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数
        */
        var num = prompt("请输入一个大于1的整数:");
        //判断这个值是否合法
        if(num <= 1 || isNaN(num)){
            alert('该值不合法!');
        }else{
            //创建一个变量来保存当前的数的状态,默认当前num是质数
            var flag = true;
            //判断num是否是质数
            //获取2-num之间的数
            for(var i=2; i<num; i++){
                // console.log(i);
                //判断num是否能被i整除
                if(num % i ==0){
                    //如果能整除,说明num一定不是质数
                    flag = false;
               }
            }
            //如果num是质数则输出
            if(flag){
                alert(num + "是质数!");
            }else{
                alert(num + "不是质数!");
            }
        }
    </script>
</head>
<body>

</body>
</html>

5 ,打印实现一个99乘法表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>99乘法表</title>
    <style type="text/css">
        body{
            width: 1500px;
        }
        span{
            display: inline-block;
            width: 100px;
        }
    </style>
    <script type="text/javascript">
         /*打印99乘法表
         1*1=1
         1*2=2 2*2=4
         1*3=3 2*3=6 3*3=9
         1*4=4 2*4=8 3*4=12 4*4=16
         ……
         1*9=9              …… 9*9=81
         */
        //创建外层循环,用来控制乘法表的高度(行)
        for(var i=1; i<=9; i++){
            //创建一个内层循环来控制乘法表的宽度(列)
            for(var j=1; j<=i; j++){
                document.write("<span>"+j+"*"+i+"="+i*j+"</span>");
            }
            //输出一个换行
            document.write('<br>');
        }
    </script>
</head>
<body>

</body>
</html>

6 ,打印出1-100之间所有的质数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>1-100之间所有的质数</title>
    <script type="text/javascript">
        /*打印出1-100之间所有的质数
        36
        1 36
        2 18
        3 12
        4 9
        6 6
         */
        //测试如下的程序的性能
        //在程序执行之前,开启计时器
        //console.time("计时器的名字")可以用来开启一个计时器
        //它需要一个字符串作为参数,这个字符串将会作为计时器的标识
        console.time("test");
        for(var i=2; i<=10000; i++){
            //创建一个布尔值,用来保存结果,默认i是质数
            var flag = true;
            //判断i是否是质数
            //获取2-i之间的数//可以通过Math.sqrt()对一个数进行开方
            for(var j=2; j<=Math.sqrt(i); j++){
                 // console.log(i);
                //判断i是否能被j整除
                if(i % j ==0){
                    //如果能整除,说明i一定不是质数,修改flag值为false
                    flag = false;
                    //一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了
                    //使用break来结束循环
                    break;
                
                    //不加242ms 加29ms 加开方2ms
                }
             }
            //如果i是质数则输出
            //console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
            if(flag){
                console.log(i);
            }
        }
        //终止计时器
        console.timeEnd("test");
    </script>
</head>
<body>

</body>
</html>

相关文章

  • 循坏练习

    刚刚我们说了循环,那接下来,我们也做几道练习题吧 1 ,用javascript打印出1-100之间奇数之和 2,用...

  • 单曲循坏

    单曲循坏,循环的不是单曲,是自己的思绪。 同样是爱情主题,为什么电影常常是喜剧类更让人喜欢,而歌曲常常是悲剧类更能...

  • 层级循坏系统

    今天是2017年11月22日,自从9月26日告别自己开店的时间以来,每天忙的昏天暗地。昨天竟然忘记到007群里提交...

  • 循坏更改auuid

    CREATE DEFINER=`root`@`localhost` PROCEDURE `auuid`()BEGI...

  • 迷茫亦有循坏

    迷茫亦有循坏 每一个阶段都有属于自己的迷茫与烦恼,无可替代,但对于当前阶段的感受都是一样的。之前看到网上有一句话,...

  • 事件循坏(event loop)

    下面这这道题有助于我们去理解 以上结果输出是什么,答案是 你想到了吗? 先简单介绍几个概念。 单线程(single...

  • shell 入门 03 循坏

    for 命令 bash shell提供了for命令,允许你创建一个遍历一系列值的循环。每次迭代都使用其中一个值来执...

  • discuz模板语法.md

    嵌套 直接输出变量 条件判断 循坏 执行php语句

  • 要发正愿

    要发正愿,正愿是正循坏,不要发邪愿。

  • 多线程之GCD

    Runloop 什么是RunloopRunloop就是消息循环,每一个线程内部都有一个消息循坏。只有主线程的消息循...

网友评论

      本文标题:循坏练习

      本文链接:https://www.haomeiwen.com/subject/hmrzeftx.html