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(' '); } 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(' '); } 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!