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循环所写的小例子,希望对大家学习有帮助~

posted @ 2018-01-09 21:42  侯晓伟  阅读(940)  评论(1编辑  收藏  举报