JavaScript中For循环以及For循环嵌套实例

时间:2023-03-08 16:15:49

JavaScript中For循环实例

1.打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
  例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

  首先,我们要想到它是一个三位数,百位(x) 1  十位(y) 0  个位(z) 0,并且它最大为9.

for(var x=1;x<=9;x++){
for(var y=0;y<=9;y++){
for(var z=0;z<=9;z++){
if(x*x*x+y*y*y+z*z*z==""+x+y+z){
document.write(x,y,z+'</br>');//153 370 371 407
}
}
}
}

2.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问10个月后有多少对兔子,幼兔、小兔、成兔对数分别是多少。

  首先,我们可以想一想思路。

//幼兔(yt),小兔(xt),成兔(ct)
// yt xt ct
// 1 0 0
// 0 1 0
// 1 0 1
// 1 1 1
// 我们可以试想一下,得到它的公式:
// 成兔=本月的成兔+上月的小兔
// 小兔=幼兔
// 幼兔=成兔
var yt,xt,ct;
var sum=0;
for(var i=1;i<=10;i++){
if(i==1){
yt=1;
xt=0;
ct=0;
sum=1;
}else{
//成兔必须放在第一个
ct=ct+xt;
xt=yt;
yt=ct;
sum=yt+xt+ct;
}
document.write('第'+i+'个月:成兔:'+ct+'&nbsp;&nbsp;&nbsp;小兔:'+xt+'&nbsp;&nbsp;&nbsp;幼兔:'+yt+'&nbsp;&nbsp;&nbsp;总对儿:'+sum+'</br>');
}
document.write("</br>");
输出结果:
第1个月:成兔:0   小兔:0   幼兔:1   总对儿:1
第2个月:成兔:0   小兔:1   幼兔:0   总对儿:1
第3个月:成兔:1   小兔:0   幼兔:1   总对儿:2
第4个月:成兔:1   小兔:1   幼兔:1   总对儿:3
第5个月:成兔:2   小兔:1   幼兔:2   总对儿:5
第6个月:成兔:3   小兔:2   幼兔:3   总对儿:8
第7个月:成兔:5   小兔:3   幼兔:5   总对儿:13
第8个月:成兔:8   小兔:5   幼兔:8   总对儿:21
第9个月:成兔:13   小兔:8   幼兔:13   总对儿:34
第10个月:成兔:21   小兔:13   幼兔:21   总对儿:55

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

//设置x,y,z
var sum=0;
for(var x=0;x<=20;x++){
for(var y=0;y<=10;y++){
for(var z=0;z<=4;z++){
if(1*x+2*y+z*5==20){
document.write('1元:'+x+'&nbsp;&nbsp;' +'2元:'+y+'&nbsp;&nbsp;' +'5元'+z+'&nbsp;&nbsp;;'+'</br>');
sum++;
}
}
}
}
document.write('一共有'+sum+'种方法');

4.大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?

//设置:大马:d  中马:z  小马:x
var sum=0;
for(var d=0;d<=50;d++){
for(var z=0;z<=100;z++){
for(var x=0;x<=100;x++){
if(d+z+x==100 && 2*d+1*z+x/2==100){
document.write('大马:'+d+'中马'+z+'小马'+x+'</br>');
sum++;
}
}
}
}
document.write('一共有'+sum+'种方法');

5.某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:

●A和B两人中至少去一人;      //我们可以设置他们去是1;不去是0.
●A和D不能一起去;
●A、E和F三人中要派两人去;
●B和C都去或都不去;
●C和D两人中去一个;
●若D不去,则E也不去。
问应当让哪几个人去?

//首先我们先设置他们都不去。
var a=b=c=d=e=f=0;
for(a=0;a<=1;a++){
for(b=0;b<=1;b++){
for(c=0;c<=1;c++){
for(d=0;d<=1;d++){
for(e=0;e<=1;e++){
for(f=0;f<=1;f++){
if(a+b>=1 && a+d!=2 && a+e+f==2 && b==c && c+d==1 && (d+e==0 || d==1)){
document.write(a,b,c,d,e,f);
}
}
}
}
}
}
}

6.公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?

//首先我们可以推算一下:
// 7 6 5 4
// 1 (1+1)*2 (4+1)*2 (10+1)*2
var tz=1;
for(var i=1;i<7;i++){
tz=(tz+1)*2
}
document.write('刚开始有'+tz+'个桃子');

7.打印以下形状。

●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●
●●●●●●●●

for(var x=1;x<=7;x++){
for(var y=1;y<=8;y++){
document.write('●');
}
document.write('</br>');
}


●●
●●●
●●●●
●●●●●

for(var x=1;x<=5;x++){
for(var y=1;y<=x;y++){
document.write('●');
}
document.write('</br>');
}

●●●●●
●●●●
●●●
●●

for(var x=5;x>=1;x--){
for(var y=1;y<=x;y++){
document.write('●');
}
document.write('</br>');
}

□□□□●
□□□●●
□□●●●
□●●●●
●●●●●

for(var x=5;x>=1;x--){
for(var y=1;y<x;y++){
document.write('□');
}
for(var san=5;san>=y;san--){
document.write('●');
}
document.write('</br>');
}

8.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

var sum=0;
for(var x=0;x<=6;x++){
for(var y=0;y<=50;y++){
for(var z=0;z<=20;z++){
if(15*x+2*y+5*z==100){
document.write('洗发水'+x+'桶&nbsp;&nbsp;&nbsp;'+'香皂'+y+'块&nbsp;&nbsp;&nbsp;'+'牙刷'+z+'支' );
document.write('</br>');
sum++;
}
}
}
}
document.write('一共有'+sum+'种购买结合');

9.五个小朋友排成一队。问第一个多大了,第一个说比第二个大两岁,问第二个,第二个说比第三个大两岁,以此类推。问第五个小朋友几岁了,第五个小朋友说3岁了。问第一个小朋友几岁?

//首先我们可以推算一下:
// 1 2 3 4 5
//11 9 7 5 3
var age=3;
for(var i=1;i<5;i++){
age=age+2
}
document.write('第一个小朋友'+age+'岁');

JavaScript中For循环嵌套实例

1.1~100奇数和

var sum_j=0;
for(var i=1;i<=100;i+=2){
sum_j+=i;
}
document.write(sum_j);

2.1~100偶数和

var sum_o=0;
for(var i=2;i<=100;i+=2){
sum_o+=i;
}
document.write(sum_o);

3.1~100数字和

var sum=0;
for(var i=1;i<=100;i++){
sum+=i;
}
document.write(sum);

4.九九乘法表(正着写)

document.write('<table>');
for(var a=1;a<=9;a++){
document.write('<tr>');
for(var b=1;b<=a;b++){
document.write('<td style="border:1px solid pink;">');
document.write(a+'×'+b+"="+a*b+'\n');
document.write('</td>');
}
document.write('</tr>');
}
document.write('</table>');

九九乘法表(倒着写)

document.write('<table>');
for(var a=9;a>=1;a--){
document.write('<tr>');
for(var b=1;b<=a;b++){
document.write('<td style="border:1px solid people;">');
document.write(a+'×'+b+"="+a*b+'\n');
document.write('</td>');
}
document.write('</tr>');
}
document.write('</table>');

5.通过for循环实现百钱买百