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; } } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM