js练习题

一、打印三角形

    *
    **
    ***
    ****

for(var i = 1;i <= 4;i++){
        for(var j = 1;j <= i;j++){
            document.write("*");
        }
        document.write("<br>");
    }

 

     *
      **
     ***
    ****

for(var i = 1;i <= 4;i++){
        for(var k = 4;k > i;k--){
            document.write("&nbsp;");
        }for(var j = 1;j <= i;j++){
            document.write("*")
        }
        document.write("<br>")
    }
for(var i = 1;i <= 4;i++){
        for(var k = 1;k <=(4-i);k++){
            document.write("&nbsp;");
        }for(var j = 1;j <= i;j++){
            document.write("*")
        }
        document.write("<br>")
    }

 

 

   ****
     ***
      **
       *

for(var i =4;i > 0;i--){
        for(var k = 4;k>i;k--){
            document.write("&nbsp;");
        }for(var j = 1;j<=i;j++){
            document.write("*")
        }
        document.write("<br>")
    }

 

   

    ****
    ***
    **
    *

for(var i = 1;i <= 4;i++){
        for(var j = 4;j >= i;j--){
            document.write("*");
        }
        document.write("<br>");
    }

   

 

       *
      ***
     *****
    *******

for(var i=0;i<4;i++){
            for(var j=5;j>i;j--){
               document.writeln("&nbsp");
            }
            for(var k=0;k<2*i+1;k++){
               document.writeln("*");
            }
            document.writeln("</br>")
         }

 

二、水仙花数   三位数  各个数字的立方和等于本身,153    1*1*1 + 5*5*5 + 3*3*3  = 153

for(var i = 100;i < 999;i++){
        var bai = parseInt(i/100);
        var shi = parseInt((i-bai*100)/10);
        var ge = i - bai*100 - shi*10;
        if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i){
            document.write(i  + ",")
        }
    }

 

四、100元购物卡,牙刷5元,香皂2元、洗发水15元 100元正好花完有多少种可能

var bs = 0;
    for(var i = 0;i<=20;i++){
        for(var j = 0;j <= 50;j++){
            for(var k = 0;k <= 6;k++){
                if(i*5 + j*2 + k*5 == 100){
                    bs++
                }
            }
        }
    }alert(bs);

 

 

100内与7相关的数

for(var i = 0;i <= 100;i++){
        if(i%7 == 0 || i%10 == 7 || parseInt(i/10) == 7){
            document.write(i+",")
        }
    }

 

六、100以内的质数、只能被1和自己整除

var flag = true
    for(var i = 2;i < 100;i++){
        flag = true;
        for(var j = 2;j < i;j++){
            if(i%j == 0){
                flag = false;
            }
        }if(flag){
            document.write(i+',')
        }
    }

 

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

for(var i = 0;i <= 50;i++){
        for(var j=0;j <= 100;j++){
            for(var k = 0;k <= 100;k++){
                if(i*2+j*1+k/2 == 100 && i+j+k == 100){
                    document.write("大马:"+i+"匹"+"")
                }
            }
        }
    }

 

17、有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,
棋盘上放的所有芝麻的重量

var sum = 0;
    for(var i = 1;i <= 64;i++){
        var num = 1;
        for(var j = 0;j < i-1;j++){
            num = num*2;
        }
        sum = sum+num;
    }
    alert(sum*0.000)

 

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

var num = 1;
    for(var i = 6;i >=1;i--){
        num = (num+1)*2;
    }alert(num);

 

 

 

1将数组中数字内容求和

var sum = 0;
    var attr = [12,34,2,5,76];
    for(var i = 0;i < attr.length;i++){ sum = sum + attr[i]; }alert(sum);

2、var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组

var attr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
    var newAttr = [];
    for(var i = 0;i<attr.length;i++){ if(attr[i] == 0)continue; newAttr.push(attr[i]); }alert(newAttr);

3、写出一个javascript的函数,实现对一个数组去重的功能。
 构建一个新的数组存放结果。
 for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比。

若结果数组中没有该元素,则存到结果数组中。

var attr = [2,34,2,5,6,9,8,4,34,67,6];
    var newAtrr = [];
    var flag = true; for(var i = 0;i< attr.length;i++){ // 方法一 // if(newAtrr.indexOf(attr[i]) == -1){ // newAtrr.push(attr[i]); // } // 方法二 flag = true; for(var j = 0;j < newAtrr.length;j++){ if(newAtrr[j] == attr[i]){ flag = false; } }; if(flag){ newAtrr.push(attr[i]) } }console.log(newAtrr);

4、数组最大值

var attr = [12,34,2,5,76];
    var max =attr[0];
    var maxIndex = 0; for(var i = 0;i<attr.length;i++){ if(attr[i]>max){ max = attr[i]; maxIndex = i; } max = attr[i]?attr[i]:max; } alert(max);

6、.往数组里面添加数据的时候去重

var attr = [10,20];
    for(var i = 0;i < 10;i++){
        var num = prompt("请输入数字"); if(attr.indexOf(num) == -1){ attr.push(num); } } console.log(attr);

 5、.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序。
用的冒泡排序的写法

var attr = [];
    for(var i = 0;i < 10;i++){
        attr[i] = parseInt(Math.random()*90+10); } var attr = [69,54,95,47,88,17,42,93,85,67]; for(var j = 0;j < attr.length-1;j++){ for(var k = j+1;k < attr.length;k++){ if(attr[j] > attr[k]){ var zhong = attr[j]; attr[j] = attr[k]; attr[k] = zhong; } } } console.log(attr); var b = [69,54,95,47,88,17,42,93,85,67]; for(j = 0;j<b.length;j++){ for(k = 0;k < b.length-1-j;k++){ if(b[k] > b[k+1]){ var temp = b[k]; b[k] = b[k+1]; b[k+1] = temp; } } }

转载于:https://www.cnblogs.com/mr171733/p/9504778.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值