• JS的for循环小例子


    1、输出1-100的和

           var sum = 0;
                for(var i=1;i<=100;i++){
                    sum = sum + i;
                }
                document.write(sum);

    2、输出1-100奇数的和

           var sum = 0
           for
    (var i=1;i<=100;i+=2){ sum = sum+i; } document.write(sum);

    3、输出1-100偶数的和

           var sum = 0;
                for(var i=2;i<=100;i+=2){
                    sum = sum+i;
                }
                document.write(sum);

    4、打印99乘法口诀表

           var i;  //用来控制外层循环变量,表示循环几行
                var j;  //用来控制内层循环变量,表示循环几列
                var num =0;
                document.write("<table border='0' cellspacing='0' cellpadding='0'>");
                for(i=9;i>=1;i--){
                    document.write("<tr>")
                    for(j=1;j<=i;j++){
                        num = i*j;
                        document.write("<td>"+i+"*"+j+"="+num+"</td>");
                    }
                    document.write("</tr>");
                }
                document.write("</table>");

    5、公鸡5元一只,母鸡3元一只,小鸡1元三只,问100元正好花完而且要买到100只鸡,可以买每种鸡各多少只?

           //count表示有多少种买法
                var count =0;     
           //表示100元可以买多少只公鸡
                for(var i=0;i<=20;i++){
              //表示100元可以买多少只母鸡
                    for(var j=0;j<=33;j++){
                //表示100元可以买多少只小鸡
                        for(var x=0;x<=100;x++){
                  //条件判断,三种鸡加起来够100只,并且花的钱等于100元
                            if((i+j+x==100)&&(5*i+3*j+x/3==100)){
                                count++;
                                document.write("公鸡:"+i+"母鸡:"+j+"小鸡:"+x);
                                document.write("<br/>");
                            }
                        }
                    }
                }
                document.write("<br/>");
                document.write(count);

    6、1,2,5  凑够二十元有多少种方法?

           var count=0;
                for(i=0;i<=4;i++){
                    for(j=0;j<=10;j++){
                        for(k=0;k<=20;k++){
                            if(i*5+j*2+k*1==20){
                                count++;
                                document.write("五元:"+i+"张"+"两元:"+j+"一元:"+k);
                                document.write("<br/>");
                            }
                        }
                    }
                }
                document.write(count);

    7、1000以内的水仙花数

           var a,b,c;
                for(var i=100;i<1000;i++){
                    a=parseInt(i/100);    
                    b=parseInt((i-a*100)/10);
                    c=parseInt(i-a*100-b*10);
                    if(a*a*a+b*b*b+c*c*c==i){
                           document.write("水仙花数为:"+i+"<br />");
                      }
                }

    8、有一对幼兔,一个月后长为小兔,小兔一个月后长为成兔,成兔会生下一对小兔,问十个月后会有多少对兔子?(兔子不会死亡)

    //          开始前我们先列数学公式
    //          yt                xt                ct
    //          1                0                0
    //          0                1                0
    //          1                0                1
    //          1                1                1
    //          2                1                2
    //          根据上面的结果我们可以得到一下公式
    //          ct=ct+xt;     每个月的成兔等于上个月的成兔加上本月的小兔
    //          xt=yt;        每个月的小兔等于上个月的成兔
    //          yt=ct;        每个月的幼兔等于上个月的成兔
                var ct=0;   //成兔
                var xt=0;    //小兔
                var yt=1;    //幼兔
                var m = 10;    //月份
                var sum=0;    //对数
                document.write("有一对幼兔,一个月后长为小兔,小兔一个月后长为成兔,成兔会生下一对小兔,问十个月后会有多少对兔子?"+"<br/>");
                for(var i=1;i<=m;i++){
                    //一月份是一个特殊的月份,兔子只有一只幼兔,本月就是一个初始值.
                    if(i==1){
                        ct=0;
                        xt=0;
                        yt=1;
                        sum=ct+xt+yt;
                    }else{
                        ct=ct+xt;
                        xt=yt;
                        yt=ct;
                        sum=ct+yt+xt;
                    }
                    document.write("成兔有:"+ct+"对&nbsp;&nbsp;小兔有:"+xt+"对&nbsp;&nbsp;幼兔有:"+yt+"对&nbsp;&nbsp;总对数:"+sum+"<br/>");
                }
                

    9、大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?

           //先算出100石粮食每种马需要多少匹
           var
    count=0;
           //大马需要50匹
    for(i=0;i<=50;i++){
              //中马需要100匹
    for(j=0;j<=100;j++){
                //小马需要200匹,但是它说最多用100匹,所以这里是100
    for(k=0;k<=100;k++){ if((i+j+k==100) && (2*i+1*j+k/2==100)){ count++; document.write("大马:"+i+"中马:"+j+"小马:"+k); document.write("<br/>"); } } } } document.write(count+"<br />");

    10、打印出下列图形

      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●

           var a,b;
                //循环的行数
                for(var a=1;a<=7;a++){
                    //循环的列数
                    for(b=1;b<=8;b++){
                        document.write("●");
                    }
                    //循环完每一行输出一个换行
                    document.write("<br />");
                }

    11、打印出下列图形

      ●
      ●●
      ●●●
      ●●●●
      ●●●●●

           for(var a=1;a<=5;a++){  
                    for(var b=1;b<=a;b++){  
                        document.write("●");
                    }
                    document.write("<br />");
                }

    12、打印出下列图形

      ●●●●●
      ●●●●
      ●●●
      ●●
      ●

           for(var a=1;a<=5;a++){  //1
                    for(var b=5;b>=a;b--){        //5
                        document.write("●");
                    }
                    document.write("<br />");
                }

    13、打印出下列图形

      □□□□●
      □□□●●
      □□●●●
      □●●●●
      ●●●●●

             for(var a=1;a<=5;a++){  
                    for(var b=5;b>=1;b--){    
                        //循环到当A的值小于于B的值时,输出方块,否则输出圆
                        if(a<b){
                            document.write("□");
                            
                        }else{ 
                            document.write("●");
                        }
                    }
                    document.write("<br />");
                }

    14、小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

         var sum = 0;
            for(var i=0;i<=6;i++){             
                for(var j=0;j<=20;j++){           
                    for(var k=0;k<=50;k++){    
                        if((15*i+5*j+2*k==100)){
                            document.write("洗发水:"+i+"&nbsp;&nbsp;牙刷:"+j+"&nbsp;&nbsp;香皂:"+k+"<br />");
                            sum++;
                        }
                    }
                }
            }
            document.write(sum+"<br />");

    15、五个小朋友排成一队。问第一个多大了,第一个说比第二个大两岁,问第二个,第二个说比第三个大两岁,以此类推。问第五个小朋友几岁了,第五个小朋友说3岁了。问第一个小朋友几岁?

         var i=1;
            for(var a=1;a<=5;a++){
            //每一个孩子比上一个孩子多2岁 i
    =i+2; document.write(i+"<br />"); }

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

    //          首先列出数学公式
    //          7      6             5         4
    //          1    (1+1)*2      (4+1)*2     (10+1)*2
    //          最后桃子的个数t
                var t=1;
    //            循环6天,因为第七天它没有吃
                for(var i=1;i<7;i++){
    //            由公式得出每天的桃子等于(t+1)*2
                    t=(t+1)*2;
                }
                document.write(t);

    17、某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:

      ●A和B两人中至少去一人;
      ●A和D不能一起去;
      ●A、E和F三人中要派两人去;
      ●B和C都去或都不去;
      ●C和D两人中去一个;
      ●若D不去,则E也不去。
      问应当让哪几个人去?

    //0代表不去,1代表去,他们首先都不去,然后挨个判断他们去
                var a=b=c=d=e=f=0;  
    //          列出数学公式
    //          a+b=>1;
    //          a+d!=2;
    //          a+e+f==2;
    //          b+c==2 || b+c==0;
    //          c+d==1;
    //          d+e==0 || d==1;
    //          每个值小于2表示他们都会执行循环,都会去
                for(a=0;a<2;a++){   
                    for(b=0;b<2;b++){
                        for(c=0;c<2;c++){
                            for(d=0;d<2;d++){
                                for(e=0;e<2;e++){
                                    for(f=0;f<2;f++){
                                        //根据上面列出的公式,全都加到判断中,符合条件的就是最终的结果
                                        if(a+b>=1 && a+d!=2 && a+e+f==2 && b==c && c+d==1 && (d+e==0 || d==1)){
                                            document.write(a,b,c,d,e,f+"<br />");
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

        以上就是为了更好的理解for循环所写的小例子,希望对大家学习有帮助~

  • 相关阅读:
    inline关键字的作用
    Qt编写websocketpp客户端
    QThreadPool线程池的开发使用
    QThreadPool线程池的使用,线程与Widget通过信号与槽的方式通信。
    1、QThreadPool线程池的使用,线程和Widget通过QMetaObject::invokeMethod交互。
    QtTest模块出现控制台的原因与方案
    定长字符数组与不定长字符数组的初始化
    C#开发中localhost与127.0.0.1本地服务器的区别
    C#树目录(treeView)的编写
    SQLite的导入导出
  • 原文地址:https://www.cnblogs.com/houxiaowei/p/8253841.html
Copyright © 2020-2023  润新知