js逻辑题整理

js for循环练习题
1、大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?

         //驮100石粮食,大马需要50匹
          for(var a=0;a<=50;a++){
              //驮100石粮食,中马需要100匹
               for(var b=0;b<=100;b++){
                   //驮100石粮食,只需要100减去大马和中马的数量就是小马的数量
                   var c=100-a-b;
                   if((a+b+c==100) && (2*a+b+c/2==100)){
                       document.write("大马:"+a+"中马:"+b+"小马:"+c+"
"); } } }

2、小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?
//a=洗发水,b=香皂,c=牙刷
//100元可以买6瓶洗发水
for(var a=0;a<=6;a++){
//100元可以买50块香皂
for(var b=0;b<=50;b++){
//100元可以买20个牙刷
for(var c=0;c<=20;c++){
//条件
if(15a+2b+5*c==100){
document.write(“洗发水:”+a+“香皂:”+b+“牙刷:”+c+"


");
}
}
}
}
3、打印出下列图形
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●
  ●●●●●●●●

//循环的行数
for(var x=1;x<=7;x++){
//循环的列数
for(var y=1;y<=8;y++){
document.write(‘●’);
}
//循环完每一行输出一个换行
document.write(’
’);
}
  ●
  ●●
  ●●●
  ●●●●
  ●●●●●
for(var x=1;x<=5;x++){
for(var y=1;y<=x;y++){
document.write(‘●’);
}
document.write(’
’);
}
  ●●●●●
  ●●●●
  ●●●
  ●●
  ●
for(var x=1;x<=6;x++){
for(var y=1;y<=6-x;y++){
document.write(‘●’);
}
document.write(’
’);
}
  □□□□●
  □□□●●
  □□●●●
  □●●●●
  ●●●●●
for(var x=1;x<=5;x++){
for(var y=1;y<=5-x;y++){
document.write(‘□’);
}
for(var z=1;z<=x;z++){
document.write(‘●’);
}
document.write(’
’);
}
4、公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
//最后一天剩下一个桃子
var peach=1;
//反推
for(var i=1;i<=6;i++){
peach = (peach + 1) * 2;
}
document.write(“公园里刚开始有”+peach+“个桃子”);
5、某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:

●A和B两人中至少去一人;
●A和D不能一起去;
●A、E和F三人中要派两人去;
●B和C都去或都不去;
●C和D两人中去一个;
●若D不去,则E也不去。
问应当让哪几个人去?
for(var a=0;a<=1;a++){
for(var b=0;b<=1;b++){
for(var c=0;c<=1;c++){
for(var d=0;d<=1;d++){
for(var e=0;e<=1;e++){
for(var f=0;f<=1;f++){
//根据上面列出的条件,全都加到判断中,符合条件的就是最终的结果
if(a+b>=1 && a+d!=2 && a+e+f2 && bc && c+d1 && (d+e0||d==1)){
document.write(‘a=’+a+‘
b=’+b+‘
c=’+c+‘
d=’+d+‘
e=’+e+‘
f=’+f);
}
}
}
}
}
}
}
6、循环输出1~100之间数字的和
var sum=0;
for(var i=1;i<=100;i++){
sum+=i;
}
document.write(sum);
7、1~100奇数和
var sum=0;
for(var i=1;i<=100;i+=2){
sum+=i;
}
document.write(sum+"
");
8、1~100偶数和
var sum=0;
for(var i=2;i<=100;i+=2){
sum+=i;
}
document.write(sum);
9、99乘法表倒着写(table)

document.write("

"); for(var i=9;i>=1;i–){ document.write(’’); for(var j=1;j<=i;j++){ document.write(’’); } document.write(’’); } document.write(’
’); document.write(j+‘x’+i+’=’+(i*j)); document.write(’
’+’
’);

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

var a = 1;
for (var i=1; i<=5; i++){
a = a + 2;
}
document.write(“第一个小朋友”+a+“岁了”);
11、凑钱1,2,5凑20元钱有多少种可能
for(var a=0;a<=20;a++){
for(var b=0;b<=10;b++){
for(var c=0;c<=4;c++){
if(a+2b+5c20){
document.write(“一块:”+a+“两块:”+b+“五块:”+c+"


")
}
}
}
}
12、有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
var a,b,c,sum;
for(var i=1;i<=12;i++){
//第一个月的时候
if(i1){
a = 1;
b = 0;
c = 0;
sum = 1;
}else{
c = c + b;
b = a;
a = c;
sum = a + b + c;
}
document.write(i+“个月后有幼兔:”+a+“对,小兔:”+b+“对,成兔:”+c+“对;一共:”+sum+“对。
”)
13、打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。
  例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

for(i=100;i<1000;i++){
var a= parseInt(i%10); //个
var b=parseInt((i/10)%10); //十
var c=parseInt(i/100); //百
if(aaa+bbb+ccc==i){
document.write(‘水仙花数:’+i+’


’);
}
}
14、通过for循环实现百钱买百的题:公鸡5元每只,母鸡3元每只,小鸡3只1元,100元买一百只鸡多少种办法

for(var a=0;a<=20;a++){ for(var b=0;b<=33;b++){ var c=100-a-b; if((a+b+c100) && (5a+3b+c/3100)){ document.write(“公鸡:” + a + “母鸡:” + b + “小鸡:” + c + “


”); } } }

1 document.write("

");
2for(var i=9;i>=1;i–){
3 document.write(’’);
4for(var j=1;j<=i;j++){
5 document.write(’’);
8 }
9 document.write(’’);
10 }
11 document.write(’
’);
6 document.write(j+‘x’+i+’=’+(i*j));
7 document.write(’
’+’
’);

你可能感兴趣的:(概念,javascript)