1. 程式人生 > 其它 >JS迴圈

JS迴圈

1、大馬馱2石糧食,中馬馱1石糧食,兩頭小馬馱一石糧食,要用100匹馬,馱100石糧食,該如何調配?

             //馱100石糧食,大馬需要50匹
              for(var a=0;a<=50;a++){
                  //馱100石糧食,中馬需要100匹
                   for(var b=0;b<=100;b++){
                       //馱100石糧食,只需要100減去大馬和中馬的數量就是小馬的數量
                       var c=100-a-b;
                       if((a+b+c==100) && (2*a+b+c/2==100)){
                           document.write("大馬:"+a+"中馬:"+b+"小馬:"+c+"<hr />");
                       }
                  }
            }

2、小明單位發了100元的購物卡,小明到超市買三類洗化用品,洗髮水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些購買結合?

 //a=洗髮水,b=香皂,c=牙刷
           //100元可以買6瓶洗髮水
            for(var a=0;a<=6;a++){
                //100元可以買50塊香皂
                for(var b=0;b<=50;b++){
                    //100元可以買20個牙刷
                    for(var c=0;c<=20;c++){
                        //條件
                        if(15*a+2*b+5*c==100){
                            document.write("洗髮水:"+a+"香皂:"+b+"牙刷:"+c+"<hr />");
                        }
                    }
                }
            }

3、打印出下列圖形

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

 //迴圈的行數
             for(var x=1;x<=7;x++){
                 //迴圈的列數
                 for(var y=1;y<=8;y++){
                     document.write('●');
                 }
             //迴圈完每一行輸出一個換行
             document.write('<br />');
             } 
  ●
  ●●
  ●●●
  ●●●●
  ●●●●●
 for(var x=1;x<=5;x++){
                 for(var y=1;y<=x;y++){
                     document.write('●');
                 }
             document.write('<br />');
             }
  ●●●●●
  ●●●●
  ●●●
  ●●
  ●
for(var x=1;x<=6;x++){
                for(var y=1;y<=6-x;y++){
                    document.write('●');
                }
            document.write('<br />');
            }
  □□□□●
  □□□●●
  □□●●●
  □●●●●
  ●●●●●
for(var x=1;x<=5;x++){
                 for(var y=1;y<=5-x;y++){
                     document.write('□');
                 }
                 for(var z=1;z<=x;z++){
                     document.write('●');
                 }
             document.write('<br />');
             }

4、公園裡有一隻猴子和一堆桃子,猴子每天吃掉桃子總數的一半,把剩下一半中扔掉一個壞的。到第七天的時候,猴子睜開眼發現只剩下一個桃子。問公園裡剛開始有多少個桃子?

  //最後一天剩下一個桃子
            var peach=1;
             //反推
             for(var i=1;i<=6;i++){
                 peach = (peach + 1) * 2;
             }
             document.write("公園裡剛開始有"+peach+"個桃子");

5、某偵察隊接到一項緊急任務,要求在A、B、C、D、E、F六個隊員中儘可能多地挑若干人,但有以下限制條件:<br />
●A和B兩人中至少去一人;
●A和D不能一起去;
●A、E和F三人中要派兩人去;
●B和C都去或都不去;
●C和D兩人中去一個;
●若D不去,則E也不去。
問應當讓哪幾個人去?

 for(var a=0;a<=1;a++){
                  for(var b=0;b<=1;b++){
                      for(var c=0;c<=1;c++){
                          for(var d=0;d<=1;d++){
                              for(var e=0;e<=1;e++){
                                  for(var f=0;f<=1;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='+a+'<br />b='+b+'<br />c='+c+'<br />d='+d+'<br />e='+e+'<br />f='+f);
                                     }
                                }
                             }
                         }
                     }
                 }            
             }

6、迴圈輸出1~100之間數字的和

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

7、1~100奇數和

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

8、1~100偶數和

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

9、99乘法表倒著寫(table)

document.write("<table border=1 style=border-collapse:collapse>"); for(var i=9;i>=1;i--){ document.write('<tr>'); for(var j=1;j<=i;j++){ document.write('<td>'); document.write(j+'x'+i+'='+(i*j)); document.write('</td>'); } document.write('</tr>'); } document.write('</table>'+'<br />');