JavaScript中For循環以及For循環嵌套實例


JavaScript中For循環實例

1.打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等於該數本身。
  例如:153是一個 "水仙花數 ",因為153=1的三次方+5的三次方+3的三次方。

  首先,我們要想到它是一個三位數,百位(x) 1  十位(y) 0  個位(z) 0,並且它最大為9.

for(var x=1;x<=9;x++){
        for(var y=0;y<=9;y++){
                for(var z=0;z<=9;z++){
                      if(x*x*x+y*y*y+z*z*z==""+x+y+z){
                           document.write(x,y,z+'</br>');//153 370 371 407
                      }
                }
        }
}

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

  首先,我們可以想一想思路。

//幼兔(yt),小兔(xt),成兔(ct)
// yt            xt            ct
// 1             0             0
// 0             1             0
// 1             0             1
// 1             1             1
// 我們可以試想一下,得到它的公式: // 成兔=本月的成兔+上月的小兔 // 小兔=幼兔 // 幼兔=成兔 var yt,xt,ct; var sum=0; for(var i=1;i
<=10;i++){ if(i==1){ yt=1; xt=0; ct=0; sum=1; }else{ //成兔必須放在第一個 ct=ct+xt; xt=yt; yt=ct; sum=yt+xt+ct; } document.write('第'+i+'個月:成兔:'+ct+'&nbsp;&nbsp;&nbsp;小兔:'+xt+'&nbsp;&nbsp;&nbsp;幼兔:'+yt+'&nbsp;&nbsp;&nbsp;總對兒:'+sum+'</br>'); } document.write("</br>");
輸出結果:
第1個月:成兔:0   小兔:0   幼兔:1   總對兒:1
第2個月:成兔:0   小兔:1   幼兔:0   總對兒:1
第3個月:成兔:1   小兔:0   幼兔:1   總對兒:2
第4個月:成兔:1   小兔:1   幼兔:1   總對兒:3
第5個月:成兔:2   小兔:1   幼兔:2   總對兒:5
第6個月:成兔:3   小兔:2   幼兔:3   總對兒:8
第7個月:成兔:5   小兔:3   幼兔:5   總對兒:13
第8個月:成兔:8   小兔:5   幼兔:8   總對兒:21
第9個月:成兔:13   小兔:8   幼兔:13   總對兒:34
第10個月:成兔:21   小兔:13   幼兔:21   總對兒:55

3.湊錢1元,2元,5元湊20元錢有多少種可能?

//設置x,y,z
var sum=0; for(var x=0;x<=20;x++){
    for(var y=0;y<=10;y++){
        for(var z=0;z<=4;z++){
            if(1*x+2*y+z*5==20){
                document.write('1元:'+x+'&nbsp;&nbsp;' +'2元:'+y+'&nbsp;&nbsp;' +'5元'+z+'&nbsp;&nbsp;;'+'</br>');
                sum++;
            }
        }
    }
}
document.write('一共有'+sum+'種方法');

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

//設置:大馬:d  中馬:z  小馬:x
var sum=0; for(var d=0;d<=50;d++){
       for(var z=0;z<=100;z++){
               for(var x=0;x<=100;x++){
                    if(d+z+x==100 && 2*d+1*z+x/2==100){
                         document.write('大馬:'+d+'中馬'+z+'小馬'+x+'</br>');
                         sum++;
                    }
              }
       }
}
document.write('一共有'+sum+'種方法');

 5.某偵察隊接到一項緊急任務,要求在A、B、C、D、E、F六個隊員中盡可能多地挑若干人,但有以下限制條件:

●A和B兩人中至少去一人;      //我們可以設置他們去是1;不去是0.
●A和D不能一起去;
●A、E和F三人中要派兩人去;
●B和C都去或都不去;
●C和D兩人中去一個;
●若D不去,則E也不去。
問應當讓哪幾個人去?

//首先我們先設置他們都不去。
var a=b=c=d=e=f=0; for(a=0;a
<=1;a++){ for(b=0;b<=1;b++){ for(c=0;c<=1;c++){ for(d=0;d<=1;d++){ for(e=0;e<=1;e++){ for(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,b,c,d,e,f); } } } } } } }

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

//首先我們可以推算一下:
// 7 6 5 4 // 1 (1+1)*2 (4+1)*2 (10+1)*2 var tz=1; for(var i=1;i
<7;i++){ tz=(tz+1)*2 } document.write('剛開始有'+tz+'個桃子');

 7.打印以下形狀。

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

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=5;x>=1;x--){
      for(var y=1;y<=x;y++){
          document.write('●');
      }
      document.write('</br>');
}     

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

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

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

var sum=0;
for(var x=0;x<=6;x++){
      for(var y=0;y<=50;y++){
           for(var z=0;z<=20;z++){
              if(15*x+2*y+5*z==100){
                  document.write('洗發水'+x+'桶&nbsp;&nbsp;&nbsp;'+'香皂'+y+'塊&nbsp;&nbsp;&nbsp;'+'牙刷'+z+'支' );
                  document.write('</br>');
                  sum++;
              }
          }
     }
}
document.write('一共有'+sum+'種購買結合');

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

//首先我們可以推算一下:
// 1 2 3 4 5 //11 9 7 5 3 var age=3; for(var i=1;i
<5;i++){ age=age+2 } document.write('第一個小朋友'+age+'歲');

JavaScript中For循環嵌套實例

1.1~100奇數和

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

2.1~100偶數和 

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

 3.1~100數字和

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

4.九九乘法表(正着寫)

document.write('<table>');
for(var a=1;a<=9;a++){
    document.write('<tr>');
    for(var b=1;b<=a;b++){
        document.write('<td style="border:1px solid pink;">');
        document.write(a+'×'+b+"="+a*b+'\n');
        document.write('</td>');
    }
    document.write('</tr>');
}
document.write('</table>');    

 九九乘法表(倒着寫)

document.write('<table>');
for(var a=9;a>=1;a--){
    document.write('<tr>');
    for(var b=1;b<=a;b++){
        document.write('<td style="border:1px solid people;">');
        document.write(a+'×'+b+"="+a*b+'\n');
        document.write('</td>');
    }
    document.write('</tr>');
}
document.write('</table>');

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

//公雞
var sum=0;
for(var x=0;x<=20;x++){
       //母雞
       for(var y=0;y<=33;y++){
                //小雞
                z=100-x-y;
                if(5*x+3*y+z/3 ==100){
                    document.write('公雞:'+x+'\t'+  '母雞:'+y+'\t'+  '小雞:'+z+'</br>');
                    sum++;                       
        }
    }
}
document.write('方法有'+sum+'種');


免責聲明!

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



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