JavaScript第三天

循环语句的运用

学习笔记
1.当循环语句 for语句,while语句
先判断,后循环
2.直到循环语句 do-while语句
先循环,后判断
for循环执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。

while循环当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体bai全部语句后再跳出(而不是立即跳出循环)
break ,立即退出循环体,后面的循环不再执行。
continue , 退出当前循环语句,然后再继续循环。
练习题

<script>
        /* 找出100--999里面有多少个水仙花数,分别输出这些水仙花数? */
        var a;
        var b = 0;
        var c = 0;
        var d = 0;
        for(a=100;a<=999;a++){
            b = parseInt((a/100))%10 ;
            c = parseInt((a/10))%10 ;
            d = parseInt((a/1))%10 ;
            if(a==b*b*b+c*c*c+d*d*d){
                document.write(a+"<br/>");
            }
        }
    </script>
  <!-- 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,
        又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 -->
        <script>
            var num = 1;
            var a = 0;
            for(a=1;a<10;a++){
                num = 2*(num+1);
            }
            document.write(num);
        </script>
   <!-- 有一分数序列:2/13/25/38/513/821/13...求出这个数列的前20项之和。 -->
    <script>
        var num = 0;
        var fenmu = 1;
        var fenzi = 2;
        var a = 0;
        for(var i=1;i<=20;i++){
            num +=fenzi/fenmu;
            a = fenzi;
            fenzi = fenmu+a;
            fenmu = a;
        }
        document.write(num);
    </script>
  <!-- 小球从100米掉落,弹起到50米,然后再掉落,弹到25米,弹10次以后,小球经过的路径是多少米(截止第10次弹地6 -->
    <script>
        var num = 100;
        var sum = 0;
        for(var i=1;i<=10;i++){
            sum += num;
            num = num/2;
        }
        document.write(sum);
    </script>
 <!-- .有一队兵,他想知道有多少人,便让士兵排队报数:按从15报数,最末一个士兵报的数为1;按从16报数,
        最末一个士兵报的数为5;按从17报数,最末一个士兵报的数为4;最后再按从111报数,最末一个士兵报的数为10。编程求韩信至少有多少兵?-->
    <script>
        var i = 1;
        do {
            i++;
            if (i % 5 == 1 && i % 6 == 5 && i % 7 == 4 && i % 11 == 10) {
                break;
            }
        } while (1) {

        }
        document.write(i);
    </script>

作业题

 <!-- 1.序列:1235813...。找出第20个数是多少?得出前20个数之和是多少? -->
    <script>
        var sum = 0;
        var first = 1;
        var last = 2;
        var n = 0;
        for(var i=1;i<=18;i++){
            sum=first+last+sum;
            n = last;
            last = first+last;
            first = n;
        }
        document.write(last);
        document.write("<br/>")
        document.write(sum);
    </script>
    <!-- 2:用*画等腰三角形

提示:画空格用&nbsp;或者&ensp;

如:
   *
  ***
 *****
******* 
 -->
    <script>
        for(var i=0;i<=5;i++){
            for(var j=i;j<=50;j++){
                document.write("&nbsp;")
            }
            for(var n=0;n<=i;n++){
                document.write("*"+"&nbsp;");
            }
            document.write("<br/>")
        }
    </script>
    <!-- 3:计算饭钱

有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭 共花了500元,每个男人各花30元,

每个女人各花20元,每个小孩各花10元,问男人、女人和小孩各有几人? -->
    <script>
        for(var i=1;i<=16;i++){
            for(var j=1;j<=25;j++){
                for(var k=1;k<=30;k++){
                    if(i+j+k==30&&30*i+20*j+10*k==500){
                        document.write(`男人${i}个,女人${j}个,小孩${k}个`+"<br/>");
                    }
                }
            }
        }
    </script>
    <!-- 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。输入60=2*2*3*5-->
    <script>
        var a = parseInt(window.prompt("请输入一个正整数"));
        for(var i=2;i<=a;i++){
            while(a!=i){
                if(a%i==0){
                    document.write(i+"&nbsp;");
                    a=a/i;
                }
                else break;
            }
        }
        document.write(a);
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值