For循环
(1)循环操作某一个功能(执行某段代码)
(2)四要素
循环初始值
循环条件
状态改变
循环体
(3)for
穷举
迭代
(4)while
例题
(1)<p>100以内的偶数</p>
<script language="javascript">
for(var i=1;i<=100;i++){
if(i%2==0){
document.write(i+" ")}
}
</script>
(2)<p>100以内的奇数</p>
<script language="javascript">
for(var a=1;a<=100;a++){
if(a%2!==0){
document.write(a+" ")}
}
</script>
(3)<p>100以内与7相关的数</p>
<script language="javascript">
for(var i=1;i<=100;i++){
if(i%7==0){document.write(i+" ")}
else if((i-7)%10==0){document.write(i+" ")}
else if(i>69&&i<80){document.write(i+" ")}
}
</script>
(4)<p>累加求和 100以内所有数相加</p>
<p>求阶乘 100以为所有数相乘</p>
<script language="javascript">
var sum=0;
for(var i=1;i<=100;i++){
sum+=i;
}alert(sum);
var sum=1;
for(var i=1;i<=100;i++){
sum*=i;
}alert(sum);
</script>
(5)<p>乘法口诀表</p>
<script language="javascript">
for(var i=1;i<10;i++){
for(var j=1;j<=i;j++){
document.write(i+"*"+j+"="+i*j+" ");}
document.write("<br>");
}
</script>
(6)<p>蓝球弹起的高度 100米 第几次高度小于1米</p>
<script language="javascript">
var count=0;
var height=100;
for(var i=1; true; i++){
if(height<1){
alert(count)
break;
}else{
height=0.5*height;
count++;
}
}
</script>
(7)<p>棋盘放粮食 64</p>
<script language="javascript">
var i=1;
var sum=0;
for(var qp=1;qp<=64;qp++){
sum+=i;
i=i*2;}
alert(sum);
</script>
(8)<p>一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米</p>
<script language="javascript">
var hd=0.0001;
for(var sum=0;true;sum++){
if(hd>8848){
alert(sum);
break;}
else{hd=hd*2;}
}
</script>
(9)<p>羽毛球拍15元,球3元,水2元。200元每种至少一个,有多少可能
(羽毛球拍最多买13个 球最多买66个 水最多买100个)</p>
<script language="javascript">
var a=0;
for(var qp=1;qp<=13;qp++){
for(var q=1;q<=66;q++){
for(var s=1;s<=100;s++){
if(qp*15+q*3+s*2<=200){
a++;}
}
}
}alert(a);
</script>
(10)<p>公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性
(公鸡最多50,母鸡最多100,小鸡最多200)</p>
<script language="javascript">
var b=0;
for(var gj=1;gj<=50;gj++){
for(var mj=1;mj<=100;mj++){
for(var xj=1;xj<=200;xj++){
if(gj*2+mj*1+xj*0.5<=100&&gj+mj+xj==100){
b++;}
}
}
}alert(b);
</script>
(11)<p>凑钱1,2,5凑20元钱有多少可能
(1元 20 2元 10 5元 4)</p>
<script language="javascript">
var c=0;
for(var yy=1;yy<=20;yy++){
for(var ly=1;ly<=10;ly++){
for(var wy=1;wy<=4;wy++){
if(yy*1+ly*2+wy*5==20){
c++;}
}
}
}alert(c);
</script>
(12)<p>有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
幼兔 1 小兔 0 成兔 0
幼兔 0 小兔 1 成兔 0
幼兔 1 小兔 0 成兔 1
幼兔 1 小兔 1 成兔 1
幼兔 2 小兔 1 成兔 2
幼兔 3 小兔 2 成兔 3
幼兔 5 小兔 3 成兔 5
当前月份幼兔 = 上个月的成兔+上月小兔
当前月份小兔 = 上月幼兔
当前月份成兔 = 上月成兔+上月小兔</p>
<script language="javascript">
var count=(prompt("请输入月份"))
var a = 1;
var b = 0;
var c = 0;
for (var i=1;i<=count;i++ )
{
var a_=a;
var b_=b;
var c_=c;
a=c_+b_;
b=a_;
c=c_+b_;
}alert(a+""+b+""+c);
</script>