首页 > 代码库 > js循环课题解析
js循环课题解析
题一直没弄明白,可能学历低,可能智商低,也可能是还没开窍。记下来,反复琢磨练习。
我相信我一定可以理解的!!!
分支语句:
switch...case、可以分很多之支。
var a = 3;
switch(a)
{
case 1:
alert("1");
break;
case 2;
alert("2");
break;
}
一、default:
alert(“输出的数字不满足条件”)
二、for循环
初始值、判断条件、状态改变、循环体。
支持嵌套操作。
三、课题讲解:
1、一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米。
解:
var hou = 0.0001;
var cishu = 0;
for(var i=0;i>=0;i++)
{
hou = hou*2;
if(hou>8848)
{
cishu = i+1;
break;
}
}
alert(cishu);
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 第六个月
当前月份幼兔 = 上个月的成兔+上月小兔
当前月份小兔 = 上月幼兔
当前月份成兔 = 上月成兔+上月小兔
解:
var prevyou = 1;
var prevxiao = 0;
var prevcheng = 0;
var nowyou = 0;
var nowxiao = 0;
var nowcheng = 0;
for(var i=0;i<10;i++)
{
//该月份的兔子数量
//当前月份幼兔 = 上个月的成兔+上月小兔
nowyou = prevxiao+prevcheng;
//当前月份小兔 = 上月幼兔
nowxiao = prevyou;
//当前月份成兔 = 上月成兔+上月小兔
nowcheng = prevcheng+prevxiao;
//把当前月份的数量转化为上个月的
prevyou = nowyou;
prevxiao = nowxiao;
prevcheng = nowcheng;
}
alert(nowyou);
alert(nowxiao);
alert(nowcheng);
3、羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能?
羽毛球拍最多买13个,球最多买66个,水最多买100个。
解:
var sl=0;
for(var i=1;i<14;i++)
{
for(var j=1;j<67;j++)
{
for(var k=1;k<101;k++)
{
if(i*15+j*3+k*2==200)
{
sl++;
}
}
}
}
alert(sl);
4、公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性?
公鸡最多50,母鸡最多100,小鸡最多200。
解:
var sl=0;
for(var i=1;i<51;i++)
{
for(var j=1;j<101;j++)
{
for(var k=1;k<201;k++)
{
if(i*2+j+k*0.5==100 && i+j+k==100)
{
sl++;
}
}
}
}
alert(sl);
5、凑钱1,2,5凑20元钱有多少可能?
1元 20 2元 10 5元 4
解:
var sl=0;
for(var i=0;i<21;i++)
{
for(var j=0;j<11;j++)
{
for(var k=0;k<5;k++)
{
if(i+j*2+k*5==20)
{
sl++;
}
}
}
}
alert(sl);
6、括号里面只能放加或减,如果要使等式成立,括号里面应该放什么运算符?
12()34()56()78()9 = 59
1+2 1+ +1*2
5-10 5+ -1*10
解:
for(var i=-1;i<2;i=i+2)
{
for(var j=-1;j<2;j=j+2)
{
for(var k=-1;k<2;k=k+2)
{
for(var l=-1;l<2;l=l+2)
{
if(12+i*34+j*56+k*78+l*9==59)
{
alert(i+"|"+j+"|"+k+"|"+l);
}
}
}
}
}
我一定要弄明白!!!
js循环课题解析