JS几种常见的循坏函数封装

总结了一些常见的用到循环的函数。包括画图、质数、闰年、分数求和、九九乘法表、水仙花数等。


一、循环画图

    //嵌套循环,两层循环
    //55列的星星
    for (var i=0; i<=5; i++)
    {
        //===>下面的这个for循环完成一行的*,表示一行的星星数。
        //===>星星数是固定的,5个。
        for (var j=0; j<=5; j++)
        {
            document.write("*")
        }
        document.write("<br>")
        //外围的for是了能够输出五行!
    }
/*
    打印出如下样式的*
    *
    ** 
    ***
    ****
    *****
    -------------
    */

    for (var i=0; i<=16; i++)
    {
        //===>下面的这个for循环完成一行的*,表示一行有的星星数。
        //===>星星数是变化的,每行的星星数等于行号。
        for (var j=0; j<=i; j++)
        {
            document.write("*")
        }
        document.write("<br>")
    }
    /*
    打印出如下样式的*
            *
           **
          ***
         ****
        *****
    */
    //总体上看是一个大的行,需要一个for;
    //在行中又有好几个列,所以还需要一个for;
    //而在一行中的好几列是由两部分内容组成的,即是空格和*号,这两部分不存在嵌套关系;
    //所以需要两个for来并排来分别表示这一行中的两个内容;
    //所以需要一个大的for来嵌套两个小的for;
    //*
    for (var i=0; i<=5; i++)
    {
        for (var j=1; j<=5-i; j++)
        {
            document.write("<div style='width:5px; height:5px; float:left;'>&nbsp;</div>")
            //由于对不同的浏览器,空格所对应的长度不一样,所以为了保证星星能够整齐的显示,我们应该对空格和星星都设置成一个盒子,对盒子设置相同的宽高,再对盒子做一个浮动即可。
        }
        for (var j=1; j<=i; j++)
        {
            document.write("<div style='width:5px; height:5px; float:left;'>*</div>")
        }
        document.write("<br>")
    }

二、质数

    //质数

    //循环判断是不是一个质数
    //判断467是不是一个质数
    //质数:只能被1和本身整除

    /*
    //方法1,利用count计数,若count数值为0,设置fcount的初始值为0,就是质数,不为0说明执行了a%i==0,即存在另一个整除数,即不是质数。

    //方法2:利用一个参数flag,设置flag的初始值为true若,flag的值发生改变,即是flag=false,说明了已经执行了a%i==0语句,即存在另一个整除数,所以不是质数。若值不变则表示是质数。

    //方法3:利用break的性质,执行即终止break所在的循环体。当没有执行a%i==0的时候,i的值和a相等,如果执行了就不相等。

    //var count=0;//方法1
    //var flag=true;//方法2:
    var a=11;
    for (i=2; i<=a-1; i++)
    {
        if (a%i==0)
        {
            //count++;//方法1
            //flag=false;//方法2
            document.write("不是质数");
            break;
        }
    }
    //if (count==0)
    //if(flag==true)// 方法2:等号的写法:【 == 】
    if(i==a)//方法3
    {
        document.write("是质数");
    }

三、分数求和

//求出1-1/2+1/3-1/4…..1/100的和
    var sum=0;
    for (var i=1; i<=100; i++)
    {
        if (i%2 == 0)
        {
            sum=sum+(-1/i);
        }
        else //if (i%2 != 0)
        {
            sum=sum+(1/i);
        }
    }
    document.write(sum);

四、闰年

//打印出1000-2000年中所有的闰年,并以每行四个数的形式输出
    var count=0;
    for (var a=1000; a<=2000; a++)
    {
        if(a%400==0 || (a%4==0 && a%100!=0))
        {
            document.write(a+"年闰年;")
            count++;
            if(count%4==0)
            {
                document.write("<br>")
            }
        }
    }

五、九九乘法表

//输出九九乘法表
// 思路
// (1) 打印9行 1..9
// (2) 对于乘法两边的数值,每一个都需要一个for循环
// (3) 每个乘法式子的第一个数值即为该行的行数
// (4) 每打印一行,输出换行符

    for (i=1; i<=9; i++)
    {
        for (j=1; j<=i; j++)
        {
            document.write(i + "*" + j + "=" + i*j + ";")
        }
        document.write("<br>")
    }

六、水仙花数

//求100-999之间的水仙花数。abc =a^3+b^3+c^3
    for (i=100; i<=999; i++)
    {
        var a=parseInt(i%10);
        var b=i/10;
        b=parseInt(b%10);
        c=parseInt(i/100);
        if (i == a*a*a+b*b*b+c*c*c)
        {
            document.write(i+"是水仙花数<br>");
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缘来是牙云敏呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值