JS循环语句作业讲解(折纸、兔子生兔子、买东西组合)

1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米

解法一:

var gd = 8848;
var cs = 0;
while(true)
{
  cs++;
  gd = gd*0.5
  if(gd<0.0001)
  {
    break;
  }
}
alert(cs);


解法二:

var n = 0;
var g = 0.0001;
while(true)
{
  g = g *2;
  n++
  if(g>8848)
  {
    break
  }
}
alert(n);

解法三:

var n = 0;
var g = 0.0001;
while(g<=8848)
{
    g = g *2;
    n++
}
alert(n);


2.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
var n=prompt("请输入经过了几个月:");

var syt = 1;//上个月的兔子数量
var sxt = 0;
var sct = 0;
var dyt = 0;//这个月的兔子的数量
var dxt = 0;
var dct = 0;
for (var i = 1; i <= n; i++)
{
  dyt = sct + sxt;         //就算当前月份的兔子数量
  dxt = syt;
  dct = sct + sxt;
  syt = dyt;                //将当前月的数量转化为上个月的
  sxt = dxt;
  sct = dct;
}
alert("经过" + n + "个月后:");
alert("幼兔为:" + dyt + "对");
alert("小兔为:" + dxt + "对");
alert("大兔为:" + dct + "对");
var sum = dyt + dxt + dct;
alert("兔子总共有:" + sum + "对");

3.15元,球3元,水2元。200元每种至少一个,有多少可能

var o =0;
var n =0;
for(var i=1;i<14;i++)
{
  for(var j=1;j<67;j++)
   {
     for(var k=1;k<101;k++)
      {
        var qian =15*i+3*j+2*k;
        if(qian == 200)
        {
          o +=(i+"个球拍"+j+"个球"+k+"瓶水"+"||")
          n++;
        }
    }
  }
}
alert(o);
alert(n);

4.公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性

var n =0;
var s =0;
for(var i=1;2*i<=100;i++)
{
    for(var j=1;1*j<=100;j++)
    {
        for(var k=1;0.5*k<=200;k++)
        {
            var qian = 2*i+1*j+0.5*k
            var shuliang = i+j+k
            if( qian== 100 && shuliang==100)
            {
                n++;
                s +=(i+"只公鸡"+j+"只母鸡"+k+"小鸡"+"||")
            }
        }
    }
}
alert(n);
alert(s);            

5.凑钱1,2,5凑20元钱有多少可能

var n =0;
var s =0;
for(var i=1;1*i<=20;i++)
{
  for(var j=1;2*j<=20;j++)
  {
    for(var k=1;5*k<=20;k++)
    {
      if(1*i+2*j+5*k == 20)
      {
        n++;
        s +=(i+"个1元"+j+"个2元"+k+"个5元"+"||")
      }
    }
  }
}
alert(n);
alert(s);
原文地址:https://www.cnblogs.com/Strive-count/p/5870792.html