javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JS利用循环解决问题

JS利用循环解决的一些常见问题总结

作者:对卦卦上心

循环输出问题是面试中经典的题目,一般会给出代码,让我们解释原因,并给出若干解决方案,下面这篇文章主要给大家介绍了关于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!的值

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利用循环解决问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文