JS利用循環解決的一些常見問題總結

1. 打印0-100中3的倍數

思路:首先利用for循環打印0到100的數,然後用if條件語句進行篩選,能被3整除的就進行輸出

for(var i=0;i<=100;i++){
    if(i%3==0&&i!=0){
        console.log(i);
    }
}

2. 在頁面中寫入 1000-2000年中的閏年

思路:首先利用for循環打印1000-2000年,然後用判斷是否閏年的條件(能被4整除且不能被100整除或者能被400整除)篩選出閏年進行打印

for(var i=1000;i<=2000;i++){
    if(i%4==0&&i%100!=0 || i%400==0){
         console.log(i+'是閏年');
    }
}

3. 打印100以內所有偶數的和

思路:首先利用循環打印出0到100的數,然後利用if條件判斷語句打印出2的倍數(0是特殊的偶數),然後再將這些數加起來

var sum=0
    for(var i=1;i<=100;i++){
        if(i%2==0){
            sum+=i
       	}
    }
console.log(sum);

結果:2550

4.求出1-1/2+1/3-1/4……1/100的和

思路:所有分子不變,都是1,當分母為偶數的時候,前面那個數是減這個偶數的

var sum=0
for(var i=1;i<=100;i++){
    if(i%2==0){
        sum-=1/i
    }else{
        sum+=1/i
    }
}
console.log(sum);

結果:0.688172179310195

5. 打印三角形

5.1 普通三角形

for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {
                document.write('☆');
            }
            document.write('<br>')
        }

顯示效果:

5.2 倒三角

 for (var i = 1; i <= 9; i++) {
            for (var j = 9; j >= i; j--) {
                document.write('☆');
            }
            document.write('<br>')
        }

顯示效果:

5.3 等腰三角形

for (var i = 1; i <= 9; i++) {
    for (var j = 9; j >= i; j--) {
            document.write('&nbsp');
       }
        for (var j = 1; j <= i; j++) {
            document.write('☆');
      }
           document.write('<br>')
    }

顯示效果:

6.等腰梯形

通過控制i的初始值實現梯形

 for (var i = 5; i <= 9; i++) {
            for (var j = 9; j >= i; j--) {
                document.write('&nbsp');
            }
            for (var j = 1; j <= i; j++) {
                document.write('☆');
            }
            document.write('<br>')
        }

顯示效果:

7.輸出100-200之間所有的質數

思路:首先質數就是隻能被1和自己整除的數,我們在進行循環的時候可以將1和自身排除,然後利用雙重for循環,外層循環用來遍歷100到200的數,然後定義一個flag初始值為true,然後裡層循環用來判斷是否是質數,不是質數的時候給flag賦值為false,然後在flag為true的時候就是質數,進行輸出

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

結果:

8. 求1+2!+3!+…+20!的值

  • 思路:這是求1加2的階乘加3的階乘加4的階乘一直加到20的階乘,首先我們先定義一個變量sum來進行接收,然後寫外層循環用來遍歷1到20,
  • 第一次循環
    當i等於1,k等於1,j等於1,k等於k*j等於1,sum等於0加1等於1
  • 第二次循環
    當i等於2,k等於1,j等於1,k等於k*j等於1
    j等於2,k等於k*j等於2,sum等於1加2等於3
  • 第三次循環
    當i等於3,k等於1,j等於1,k等於k*j等於1
    j等於2,k等於k*j等於2
    j等於3,k等於k*j等於6,sum等於1加1+2+6=9
  • 以此類推。。。。
var sum = 0;
        for (var i = 1; i <= 20; i++) {
            var k = 1;
            for (var j = 1; j <= i; j++) {
                k *= j;
            }
            sum += k;
        }
        console.log(sum);

結果:2561327494111820300

9. 有一個棋盤,有64個方格,在第一個方格裡面放1粒芝麻重量是0.00001kg,第二個裡面放2粒,第三個裡面放4,棋盤上放的所有芝麻的重量

思路:第一個有1個,第二個有2個,第三個有4個,第四個有8個,以此類推,起那麼2個數相乘等於第三個數,分別定義sum和num用來裝總數量和第幾個,然後利用循環使代碼1到64執行

var sum=0;
      var num=1;
      for(var i=1;i<=64;i++){
          sum+=num;
          num*=2;
     }
console.log(sum*0.00001);

結果:184467440737095.53

10.在頁面上完成以一個九九乘法表

for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {
                document.write('<span>'+j+'*'+i+'='+i*j+'</span>');
            }
            document.write('<br>')
        }

顯示效果:樣式是單獨寫得

11.打印一個3行5列的表格

document.write('<table>')
        for(var i=1;i<=3;i++){
            document.write('<tr>')
            for(var j=1;j<=5;j++){
                document.write('<td></td>')
            }
            document.write('</tr>')
        }
        document.write('</table>')

顯示效果:樣式單獨加的

總結 

到此這篇關於JS利用循環解決的一些常見問題的文章就介紹到這瞭,更多相關JS利用循環解決問題內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: