for迴圈案例 今天給大家介紹點for迴圈的案例 1.大馬馱2石糧食,中馬馱1石糧食,兩頭小馬馱一石糧食,要用100匹馬,馱100石糧食,該如何調配? 2.某偵察隊接到一項緊急任務,要求在A、B、C、D、E、F六個隊員中儘可能多地挑若幹人,但有以下限制條件: ●A和B兩人中至少去一人; ●A和D不能 ...
for迴圈案例
今天給大家介紹點for迴圈的案例
1.大馬馱2石糧食,中馬馱1石糧食,兩頭小馬馱一石糧食,要用100匹馬,馱100石糧食,該如何調配?
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <script> 9 var c=0; 10 for(var x=0;x<=50;x++){//大馬,因為大馬馱2石糧食所以說最多一共能有50匹大馬 11 for(var y=0;y<=100;y++){//中馬,因為中馬馱1石糧食所以最多能有100匹中馬 12 for(var z=0;z<=100;z++){//小馬,因為最多能100匹馬,所以小馬不能超過100匹 13 if((x*2+y+z/2==100) && (x+y+z==100)){//條件1:三種馬一共馱100石糧食;條件2:三種馬一共要用100匹馬 14 c++;//一共有多少種方法 15 document.write('大馬有'+x+'匹,中馬有'+y+'匹,小馬有'+z+'匹<br />') 16 } 17 } 18 } 19 } 20 document.write('<b>一共有'+c+'種方法</b>'); 21 </script> 22 </body> 23 </html>
2.某偵察隊接到一項緊急任務,要求在A、B、C、D、E、F六個隊員中儘可能多地挑若幹人,但有以下限制條件:
●A和B兩人中至少去一人;
●A和D不能一起去;
●A、E和F三人中要派兩人去;
●B和C都去或都不去;
●C和D兩人中去一個;
●若D不去,則E也不去。
問應當讓哪幾個人去?
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <script> 9 for(var a=0;a<=1;a++){ 10 for(var b=0;b<=1;b++){ 11 for(var c=0;c<=1;c++){ 12 for(var d=0;d<=1;d++){ 13 for(var e=0;e<=1;e++){ 14 for(var f=0;f<=1;f++){//abcdef6個人假設都去,若為0則不去,1為去。 15 if ((a+b>=1) && (a+d<=1) && (a+e+f==2) && (b==c) && (c+d==1) && (d+e==0 || d==1 )) { 16 document.write(a,b,c,d,e,f);//輸出所有人,去的為1,不去的為0; 17 } 18 } 19 } 20 } 21 } 22 } 23 } 24 </script> 25 </body> 26 </html>
3.公園裡有一隻猴子和一堆桃子,猴子每天吃掉桃子總數的一半,把剩下一半中扔掉一個壞的。到第七天的時候,猴子睜開眼發現只剩下一個桃子。問公園裡剛開始有多少個桃子?
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <p>解析:反推,最後一天有1個,所以說第6天有 (1+1)*2 個桃子,所以說第n天有 (x+1)*2 個桃子。</p> 9 <script> 10 var x=1; 11 for(var i=1;i<=6;i++){//因為我們知道第7天的桃子所以說從第6天開始反推, 12 x=(x+1)*2; 13 } 14 document.write('<b>公園裡剛開始有'+x+'個桃子</b>'); 15 </script> 16 </body> 17 </html>
4. 1~100奇數的和
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <p>解析:想做好這道題必須得知道兩相鄰奇數之間的差是多少</p> 9 <script> 10 var sum_j = 0 11 for (var i=1;i<=100;i+=2){//i=i+2 12 sum_j +=i;//sum_j=sum_j+i 13 } 14 document.write(sum_j+' 為1~100之間奇數的和'); 15 </script> 16 </body> 17 </html>
5. 1~100偶數的和
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <p>解析:同上一題一樣,如果理解了上一題那麼這一題就簡單了。</p> 9 <script> 10 <script> 11 var sum_o =0 12 for (var i=2;i<=100;i+=2){ 13 sum_o +=i; 14 } 15 document.write(sum_o+' 為1~100之間偶數的和') 16 </script> 17</body> 18</html>
6. 9*9乘法表
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <style> 7 td{width: 60px;height: 30px;line-height: 30px;text-align: center;border: 1px solid #000;} 8 </style> 9 </head> 10 <body> 11 <p>超簡單就不在這裡解釋了</p> 12 <script> 13 document.write('<table>'); 14 for(var i=9;i>=1;i--){ 15 document.write('<tr>'); 16 for(var j=1;j<=i;j++){ 17 document.write('<td>'+i+'x'+j+'='+i*j+'</td>') 18 } 19 document.write('</tr>'); 20 } 21 document.write('</table>'); 22 </script> 23 </body> 24 </html>
7.通過for迴圈實現百錢買百雞的題:公雞5元每隻,母雞3元每隻,小雞3只1元,100元買100只雞有多少種方法
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <style> 7 td{width: 60px;height: 30px;line-height: 30px;text-align: center;border: 1px solid #000;} 8 </style> 9 </head> 10 <body> 11 <script> 12 var a=0; 13 for(var x=0;x<=20;x++){//公雞,公雞5元每隻,所以說最多能買20只 14 for(var y=0;y<=33;y++){//母雞,母雞3元每隻,所以最多能買33只 15 for(var z=0;z<=100;z++){//小雞,一共最多可以買100只雞 16 if ((x+y+z==100)&&(5*x+3*y+z/3==100)) {//條件1:三種雞一共不能超過100只;條件2:三種雞一共要花100元錢 17 document.write('公雞有'+x+'只'+'母雞有'+y+'只'+'小雞有'+z+'只'+'<br />'); 18 a++ 19 } 20 } 21 } 22 } 23 document.write('一共有'+a+'種方法'); 24 </script> 25 </body> 26 </html>
8.水仙花數
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title>> 6 </head> 7 <body> 8 <p>解析:想要解答這道題必須得知道什麼叫水仙花數。即:abc是一個三位數(100<=xyz<=999),xyz=x^3+y^3+z^3</p> 9 <p>註:水仙花數只有3位數,4位數的叫"四葉玫瑰數"</p> 10 <script> 11 //因為是3位數所以第1位不能為0; 12 for(var x=1;x<=9;x++){ 13 for(var y=0;y<=9;y++){ 14 for(var z=0;z<=9;z++){ 15 if (x*x*x