JS利用循環(huán)解決的一些常見(jiàn)問(wèn)題總結(jié)
1. 打印0-100中3的倍數(shù)
思路:首先利用for循環(huán)打印0到100的數(shù),然后用if條件語(yǔ)句進(jìn)行篩選,能被3整除的就進(jìn)行輸出
for(var i=0;i<=100;i++){ if(i%3==0&&i!=0){ console.log(i); } }
2. 在頁(yè)面中寫(xiě)入 1000-2000年中的閏年
思路:首先利用for循環(huán)打印1000-2000年,然后用判斷是否閏年的條件(能被4整除且不能被100整除或者能被400整除)篩選出閏年進(jìn)行打印
for(var i=1000;i<=2000;i++){ if(i%4==0&&i%100!=0 || i%400==0){ console.log(i+'是閏年'); } }
3. 打印100以內(nèi)所有偶數(shù)的和
思路:首先利用循環(huán)打印出0到100的數(shù),然后利用if條件判斷語(yǔ)句打印出2的倍數(shù)(0是特殊的偶數(shù)),然后再將這些數(shù)加起來(lái)
var sum=0 for(var i=1;i<=100;i++){ if(i%2==0){ sum+=i } } console.log(sum);
結(jié)果:2550
4.求出1-1/2+1/3-1/4……1/100的和
思路:所有分子不變,都是1,當(dāng)分母為偶數(shù)的時(shí)候,前面那個(gè)數(shù)是減這個(gè)偶數(shù)的
var sum=0 for(var i=1;i<=100;i++){ if(i%2==0){ sum-=1/i }else{ sum+=1/i } } console.log(sum);
結(jié)果: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.等腰梯形
通過(guò)控制i的初始值實(shí)現(xiàn)梯形
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之間所有的質(zhì)數(shù)
思路:首先質(zhì)數(shù)就是只能被1和自己整除的數(shù),我們?cè)谶M(jìn)行循環(huán)的時(shí)候可以將1和自身排除,然后利用雙重for循環(huán),外層循環(huán)用來(lái)遍歷100到200的數(shù),然后定義一個(gè)flag初始值為true,然后里層循環(huán)用來(lái)判斷是否是質(zhì)數(shù),不是質(zhì)數(shù)的時(shí)候給flag賦值為false,然后在flag為true的時(shí)候就是質(zhì)數(shù),進(jìn)行輸出
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>') } }
結(jié)果:
8. 求1+2!+3!+…+20!的值
- 思路:這是求1加2的階乘加3的階乘加4的階乘一直加到20的階乘,首先我們先定義一個(gè)變量sum來(lái)進(jìn)行接收,然后寫(xiě)外層循環(huán)用來(lái)遍歷1到20,
- 第一次循環(huán)
當(dāng)i等于1,k等于1,j等于1,k等于k*j等于1,sum等于0加1等于1 - 第二次循環(huán)
當(dāng)i等于2,k等于1,j等于1,k等于k*j等于1
j等于2,k等于k*j等于2,sum等于1加2等于3 - 第三次循環(huán)
當(dāng)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);
結(jié)果:2561327494111820300
9. 有一個(gè)棋盤,有64個(gè)方格,在第一個(gè)方格里面放1粒芝麻重量是0.00001kg,第二個(gè)里面放2粒,第三個(gè)里面放4,棋盤上放的所有芝麻的重量
思路:第一個(gè)有1個(gè),第二個(gè)有2個(gè),第三個(gè)有4個(gè),第四個(gè)有8個(gè),以此類推,起那么2個(gè)數(shù)相乘等于第三個(gè)數(shù),分別定義sum和num用來(lái)裝總數(shù)量和第幾個(gè),然后利用循環(huán)使代碼1到64執(zhí)行
var sum=0; var num=1; for(var i=1;i<=64;i++){ sum+=num; num*=2; } console.log(sum*0.00001);
結(jié)果:184467440737095.53
10.在頁(yè)面上完成以一個(gè)九九乘法表
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>') }
顯示效果:樣式是單獨(dú)寫(xiě)得
11.打印一個(gè)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>')
顯示效果:樣式單獨(dú)加的
總結(jié)
到此這篇關(guān)于JS利用循環(huán)解決的一些常見(jiàn)問(wèn)題的文章就介紹到這了,更多相關(guān)JS利用循環(huán)解決問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js深度合并兩個(gè)數(shù)組對(duì)象的實(shí)現(xiàn)
這篇文章主要介紹了js深度合并兩個(gè)數(shù)組對(duì)象的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12

原生js獲取iframe中dom元素--父子頁(yè)面相互獲取對(duì)方dom元素的方法