【JavaScript for循環實例】


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

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

 

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

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

 

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

 1             for(var a=0;a<=1;a++){
 2                 for(var b=0;b<=1;b++){
 3                     for(var c=0;c<=1;c++){
 4                         for(var d=0;d<=1;d++){
 5                             for(var e=0;e<=1;e++){
 6                                 for(var f=0;f<=1;f++){
 7                                     //根據上面列出的條件,全都加到判斷中,符合條件的就是最終的結果
 8                                     if(a+b>=1 && a+d!=2 && a+e+f==2 && b==c && c+d==1 && (d+e==0||d==1)){
 9                                         document.write('a='+a+'<br />b='+b+'<br />c='+c+'<br />d='+d+'<br />e='+e+'<br />f='+f);
10                                     }
11                                 }
12                             }
13                         }
14                     }
15                 }            
16             }

 

4、打印出下列圖形

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

1             //循環的行數
2             for(var x=1;x<=7;x++){
3                 //循環的列數
4                 for(var y=1;y<=8;y++){
5                     document.write('●');
6                 }
7             //循環完每一行輸出一個換行
8             document.write('<br />');
9             }     

 

5、打印出下列圖形

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

1             for(var x=1;x<=5;x++){
2                 for(var y=1;y<=x;y++){
3                     document.write('●');
4                 }
5             document.write('<br />');
6             }

 

6、打印出下列圖形

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

            for(var x=1;x<=6;x++){
                for(var y=1;y<=6-x;y++){
                    document.write('●');
                }
            document.write('<br />');
            }

 

7、打印出下列圖形

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

1             for(var x=1;x<=5;x++){
2                 for(var y=1;y<=5-x;y++){
3                     document.write('□');
4                 }
5                 for(var z=1;z<=x;z++){
6                     document.write('●');
7                 }
8             document.write('<br />');
9             }

8、小明單位發了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 />");
                        }
                    }
                }
            }

 

9、五個小朋友排成一隊。

  問第一個多大了,第一個說比第二個大兩歲,
  問第二個,第二個說比第三個大兩歲,以此類推。
  問第五個小朋友幾歲了,第五個小朋友說3歲了。
  問第一個小朋友幾歲?

1             var a = 1;
2             for (var i=1; i<=5; i++){
3                 a = a + 2;
4             }
5             document.write("第一個小朋友"+a+"歲了");

 

10、湊錢1,2,5湊20元錢有多少種可能

1             for(var a=0;a<=20;a++){
2                 for(var b=0;b<=10;b++){
3                     for(var c=0;c<=4;c++){
4                         if(a+2*b+5*c==20){
5                             document.write("一塊:"+a+"兩塊:"+b+"五塊:"+c+"<hr />")
6                         }
7                     }
8                 }                
9             }

 

11、有一對幼兔,幼兔1個月后長成小兔,小兔1個月后長成成兔並生下一對幼兔,問幾年后有多少對兔子,幼兔、小兔、成兔對數分別是多少。

 1 //        設a=幼兔,b=小兔,c=成兔;
 2 //            a        b        c       sum
 3 // 第一個月         1        0        0        1
 4 // 第二個月         0        1        0        1
 5 // 第三個月         1        0        1        2
 6 // 第四個月         1        1        1        3
 7 // 第五個月         2        1        2        5
 8 //          根據上面的結果我們可以得到
 9 //          c=c+b;      每個月的成兔等於上個月的成兔加上本月的小兔
10 //          b=c;        每個月的小兔等於上個月的成兔
11 //          a=b;        每個月的幼兔等於上個月的成兔
12 //          所以 --↓--
13             var a,b,c,sum;
14             for(var i=1;i<=12;i++){
15                 //第一個月的時候
16                 if(i==1){
17                     a = 1;
18                     b = 0;
19                     c = 0;
20                     sum = 1;
21                 }else{
22                     c = c + b;
23                     b = a;
24                     a = c;
25                     sum = a + b + c;
26                 }
27                 document.write(i+"個月后有幼兔:"+a+"對,小兔:"+b+"對,成兔:"+c+"對;一共:"+sum+"對。<hr />")
28             }

12、打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等於該數本身。

      例如:153是一個 "水仙花數 ",因為153=1的三次方+5的三次方+3的三次方。

1             for(i=100;i<1000;i++){
2                      var a= parseInt(i%10);     //
3                      var b=parseInt((i/10)%10); //十
4                      var c=parseInt(i/100);     //百
5                      if(a*a*a+b*b*b+c*c*c==i){
6                      document.write('水仙花數:'+i+'<hr />');
7                      }    
8                 }

13、循環輸出1~100之間數字的和

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

14、1~100奇數和

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

15、1~100偶數和

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

16、99乘法表倒着寫(table)

 1             document.write("<table border=1 style=border-collapse:collapse>");
 2             for(var i=9;i>=1;i--){
 3                 document.write('<tr>');
 4                 for(var j=1;j<=i;j++){
 5                     document.write('<td>');
 6                     document.write(j+'x'+i+'='+(i*j));
 7                     document.write('</td>');
 8                 }
 9                  document.write('</tr>');
10             }
11             document.write('</table>'+'<br />');

17、通過for循環實現百錢買百🐔的題:公雞5元每只,母雞3元每只,小雞3只1元,100元買一百只雞多少種辦法

1             for(var a=0;a<=20;a++){
2                 for(var b=0;b<=33;b++){
3                     var c=100-a-b;
4                     if((a+b+c==100) && (5*a+3*b+c/3==100)){
5                         document.write("公雞:" + a + "母雞:" + b + "小雞:" + c + "<hr />");
6                     }
7                 }
8             }

 

有很多同類型的題哦,其實很簡單,你也可以的~~~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM