幾很有代表性的個for循環的練習題
阿新 • • 發佈:2017-10-24
9.png d+ ima asc break -1 .cn ++ for循環
折紙:折多少次和珠穆朗瑪峰一樣高
1.一張紙的厚度是0.0001米,將紙對折,對折多少次厚度超過珠峰高度8848米
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> var depth = 0.0001; for(i=1;true;i++){ depth=depth*2 if(depth>8848){ alert(i); break; } } </script>
最後得到結果:
2.有一對幼兔,幼兔1個月後長成小兔,小兔1個月後長成成兔並生下一對幼兔,問8個月後有多少對兔子,幼兔、小兔、成兔對數分別是多少。
幼兔 1 小兔 0 成兔 0 初始值
幼兔 0 小兔 1 成兔 0 第一個月
幼兔 1 小兔 0 成兔 1 第二個月
幼兔 1 小兔 1 成兔 1 第三個月
幼兔 2 小兔 1 成兔 2 第四個月
幼兔 3 小兔 2 成兔 3 第五個月
幼兔 5 小兔 3 成兔 5 第六個月
當前月份幼兔 = 上個月的成兔+上月小兔
當前月份小兔 = 上月幼兔
當前月份成兔 = 上月成兔+上月小兔
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> var syt = 1; var sxt = 0; var sct = 0; var dyt = 0; var dxt = 0; var dct = 0; for(var i=0;i<10;i++) { //計算當前月份的兔子數量 dyt = sxt+sct; dxt = syt; dct = sct+sxt; //將當前月份的數量轉為上個月的 syt = dyt; sxt = dxt; sct = dct; } var s = "10個月之後幼兔:"+dyt+"個,小兔:"+dxt+"個,成兔:"+dct+"個"; alert(s);s </script> </script>
得到的結果為:
3.羽毛球拍15元,球3元,水2元。200元每種至少一個,有多少可能
羽毛球拍最多買13個 球最多買66個 水最多買100個
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> var m = ""; var n = 0; for(i=1;i<=13;i++){ for(x=1;x<=66;x++){ for(y=1;y<=100;y++){ var money=i*15+x*3+y*2; if(money==200){ m += "球拍"+i+"球"+x+"水"+y+"|"; n++; } } } } alert(n);; </script>
其結果為:
4.公雞2文,母雞1文,小雞半文,每種至少一只,100文買100只雞有多少可能性
公雞最多50,母雞最多100,小雞最多200
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> var a = ""; var b = 0; for(i=1;i<=50;i++){ for(x=1;x<=100;x++){ for(y=1;y<=200;y++){ var money=i*2+x*1+y*0.5; var number=i+x+y; if(money==100 && number==100){ a += "公雞"+i+"母雞"+x+"小雞"+y+"|"; b++; } } } } alert(b); </script>
其結果為:
5.湊錢1,2,5湊20元錢有多少可能
1元 20 2元 10 5元 4
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> var a = ""; var b = 0; for(i=0;i<=20;i++){ for(x=0;x<=10;x++){ for(y=0;y<=4;y++){ var money=i+x*2+y*5; if(money==20){ a += "一元"+i+"兩元"+x+"五元"+y+"|"; b++; } } } } alert(b); </script>
其結果為:
括號裏面只能放加或減,如果要使等式成立,括號裏面應該放什麽運算符
12()34()56()78()9 = 59
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <!--括號裏面只能放加或減,如果要使等式成立,括號裏面應該放什麽運算符 12()34()56()78()9 = 59--> <script type="text/javascript"> for (a=-1;a<2;a=a+2) { for (b=-1;b<2;b=b+2) { for (c=-1;c<2;c=c+2) { for (d=-1;d<2;d=d+2) { if (12+a*34+b*56+c*78+d*9==59) { alert(a+","+b+","+c+","+d) } } } } } </script>
得到結果:
幾很有代表性的個for循環的練習題