首页 > 代码库 > 穷举和迭代

穷举和迭代

通过循环可以解决两类问题:
穷举:在不知道什么情况下才真的是我们需要的结果的时候,只能够让它一个一个的情况都给走一遍
举例:公司给发了150元的购物卡,刚好想去超市购买洗发水(15元)、牙刷(5元)、香皂(2)。只买着三个种类的商品,要求全部花完150元,有多少种买法,每种买法都是各买几样?<br />

<script>
var zong =0;
var sum=0;
for(var x= 0;x<=10;x++)
{
for(var y =0;y<=30;y++)
{
for(var z =0;z<=75;z++)
{

if(x*15+y*5+z*2==150)
{

sum++; ---代表没执行一次就加一
document.write("第"+sum+"种买法:洗发水"+x+"瓶,牙刷"+y+"支,香皂"+z+"块。<br />");
}
}
}
}

</script>
<br />

<br />

迭代:在现有条件下,根据规律,不断求解中间情况,最终推导出结果
折纸问题:纸张厚度0.07mm,现在有一张无限大的纸,问,多少次之后可以超过珠峰(8848m)的高度
<script>
var h =0.07;
for(var i=1;i>0;i++)

{ h*=2

if(h>8848000)

{

alert("总共需要"+i+"次,就可以超过高度为;“+h/1000)

break;

i=-10

}

 

}
</script>

 

穷举和迭代