JavaScript循环语句

   // 1.打印100以内 7的倍数      
        document.write('100以内 7的倍数 : ')
        var i=0;
        while(i<=100){
            if(i%7==0){
                document.write(i+" " )
            }
            i++;
        }
        // 2.打印100以内的奇数
        document.write('<br>')
        document.write('100以内的奇数 : ')
        var i=0;
        while(i<=100){
            if(i%2!==0){
                document.write(i+" " )
            }
            i++;
        }
        // 3.打印100以内所有偶数的和
        document.write('<br>')
        document.write('100以内所有偶数的和 : ')
        var i=0 ,sum=0;
        while(i<=100){
            if(i%2==0){
                sum+=i;
            }
            i++;
        }
        document.write(sum+" " )
 
 
        // 4.打印图形
        //     * * * * * * * * * *
        //     * * * * * * * * * *
        //     * * * * * * * * * *
        //     * * * * * * * * * *
        document.write('<br>')
        document.write('<br>')
       for( var i=0;i<4;i++){
        for(var j=0;j<10;j++){
            document.write(" * ")
        }
        document.write('<br>')
       }
       
      
       //5.打印三角形
       //直三角
       document.write('<br>')
       for(var x=0;x<=5;x++){
        for(var y=0;y<=x;y++){
            document.write("* ")
        }
        document.write("<br>")
       }

       //倒直三角
       document.write("<br>")
       for(var x=5;x>=0;x--){
        for(var y=0;y<=x;y++){
            document.write("* ")
        }
        document.write("<br>")
       }


       //等腰
       document.write('<br>')
       for(var x=0;x<=5;x++){
        for(var z=0;z<=5-x;z++){
            document.write('&nbsp&nbsp')
        }
        for(var y=0;y<=x;y++){
            document.write("*&nbsp&nbsp&nbsp")
        }
        document.write("<br>")
       }

       //倒等腰
       document.write('<br>')
       for(var x=5;x>=0;x--){
        for(var z=0;z<=5-x;z++){
            document.write('&nbsp&nbsp')
        }
        for(var y=0;y<=x;y++){
            document.write("*&nbsp&nbsp&nbsp")
        }
        document.write("<br>")
       }
       document.write("<br>")
       document.write("<br>")
 
 
 
 
 
 
// 1, 一个新入职,月工资为2000元的员工,每年涨当年工资5%,20年后的月工资是多少?
        var money = 2000;
        for (var i = 1; i <= 20; i++) {
            money *= (1 + 0.05);

            /*  document.write(i + "年后的月工资是" + money.toFixed(2) + "元")
             document.write("<br>") */
        }
        document.write("20年后的月工资是" + money.toFixed(2) + "元")
        document.write("<br>")


        // 2, 山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。
        var i = 15, j = 50;
        var count = 0;
        while (true) {
            i += 5;
            count++;
            if (i == j) {
                break;
            }
        }
        document.write(count + "次")


        // 3, 打印100–200之间所有能被3或者7整除的数
        document.write("<br>")
        for (var i = 100; i <= 200; i++) {
            if ((i % 7 || i % 3) == 0) {
                document.write("100–200之间所有能被3或者7整除的数有:" + i)
                document.write("<br>")
            }
        }

        // 4, 计算10的阶乘   (1*2*3*4*5*6*7*8*9*10   n的阶乘1*2……*n)
        var num = 1;
        for (var n = 10; n > 0; n--) {
            num *= n;
        }
        document.write("10!=" + num)

        /*  document.write("<br>")
         var m = prompt("请输入n的阶乘:")
         var num = 1;
         var n = m;
         if (!(m * 1) || m < 0) {
             document.write("false")
         }
         else {
             for (; n > 0; n--) {
                 num *= n;
             }
             document.write(m + "!=" + num)
         } */


        // 5, 计算1+3+5+...+99的和
        document.write("<br>")
        var num = 0;
        for (var i = 0; i < 100; i++) {
            if ((i % 2) !== 0) {
                num = Number(num + i);
            }
        }
        document.write("1+3+5+...+99的和为:" + num)

        //任意数累加和
        /*  document.write("<br>")
         var m = prompt("请输入累加和的数值:")
         var num = 0, n = m;
         if (!(m * 1) || m < 0) {
             document.write("false")
         }
         else{
             for (; n > 0; n--) {
                 num=Number(num+n) ;
             }
             document.write(m + "的累加和为" + num)
         } */


        // 6, 99乘法表
        document.write("<br>")
        document.write("<br>")
        for (var i = 1; i <= 9; i++) {
            for (var j = 1; j < i; j++) {
                document.write(j + "*" + i + "=" + i * j + "&nbsp &nbsp")
            }
            document.write(i + "*" + j + "=" + i * j)
            document.write("<br>")
        }


        // 7, 输出20~80之间能被3整除的整数, 每行5个
        document.write("<br>")
        document.write("<br>")
        var count = 0;
        for (var i = 20; i <= 80; i++) {
            if (!(i % 3)) {
                document.write(i + "&nbsp");
                count++;
                if (count % 5 == 0) {
                    document.write("<br>")
                }
            }
        }


        // 8, 打印1000~2000年中所有的闰年, 每行4个
        document.write("<br>")
        document.write("<br>")
        document.write("1000~2000年中所有的闰年:")
        document.write("<br>")
        var count = 0;
        for (var year = 1000; year <= 2000; year++) {
            if ((year % 4 == 0 && year % 100 !== 0 || year % 400 == 0)) {
                document.write(year + "是闰年" + "&nbsp&nbsp");
                count++;
                if (count % 4 == 0) {
                    document.write("<br>")
                }
            }
        }


        // 9, 求: 1-1/2+1/3-1/4 …  1/100的和
        document.write("<br>")
        document.write("<br>")
        var Number1 = 0, Number2 = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 2) {
                Number1 += 1 / i;
            }
            else Number2 += -1 / i;
            // document.write("1-1/2+1/3-1/4 …  1/100的和为:"+(Number1+Number2))
            // document.write("<br>")
        }
        document.write("1-1/2+1/3-1/4 …  1/100的和为:" + (Number1 + Number2))



        //9,  输入两个数,求两个数的最小公倍数(****)
        //如: 9和6的最小公倍数是18,
        //1, 先找出两个数中的最大数   // 9 -> 6*9
        //2, 最大数++,找出能被两个数整除的数(退出循环)

        /* document.write("<br>")
        document.write("<br>")
        var Number1=prompt("请输入第一个数值:") ,Number2=prompt("请输入第二个数值:");
        if(Number1<Number2){
            var tmp = Number1;
            Number1 = Number2;
            Number2 = tmp;
        }
       
        for(var gbs = Number1*1; gbs <=Number1*Number2; gbs += Number1*1){
            if(!(gbs%Number1) && !(gbs%Number2)){
                document.write(Number1+"和"+Number2+"这两个数的最小公倍数是:"+gbs);
                break;
            }
        } */


        document.write("<br>")
        document.write("<br>")
        var Number1 = prompt("请输入第一个数值:", 5), Number2 = prompt("请输入第二个数值:", 8);
        if (Number1 < Number2) {
            var tmp = Number1;
            Number1 = Number2;
            Number2 = tmp;
        }
        var gbs = Number1 * 1;
        while ((gbs % Number1) || (gbs % Number2)) {
            gbs += Number1 * 1;
        }
        document.write(Number1 + "和" + Number2 + "这两个数的最小公倍数是:" + gbs);









        //10,  输入两个数n,a,如果n==3, a == 2;
        //输出 2 + 22 + 222 的值。(不用输出式子)(****)
        //如: n == 4, a == 3;
        //输出 3 + 33 + 333 + 3333的值。
        //提示: 1、n = 3,相加三次,每次相加比前一次相加的数,多一位2、每次多的这个位数的值为a,  3, 3*10+3(33), 33*10+3(333),...

        /* document.write("<br>")
        document.write("<br>")
        var n =3, a = 2;
        var sum = 0 , str = "";
        for(var i=0;i<n;i++){
            str+=a;
            sum+=Number(str)
        }
        document.write(sum);
         */



        var n = prompt("请输入第一个数:", 3); a = prompt("请输入第二个数:", 2), sum = 0, m = 0;
        for (i = 0; i < n; i++) {
            m += Math.pow(10, i);
            sum += m * a;
        }
        document.write(sum);
        document.write("<br>");




        //11, 五位数中,对称的数称为回文数,找出所有的回文数。
        //如: 12321
        /*   document.write("<br>")
          document.write("<br>")
          for(var Number1=10000;Number1<100000;Number1++){
              if((parseInt(Number1/10000)==parseInt(Number1%10))&&(parseInt(Number1/1000%10)==parseInt(Number1/10%10))){
                  document.write(Number1);
                  document.write("<br>")
              }
          }
   */



        /*  12, 宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:“只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?
        */
        document.write("<br>");
        document.write("<br>");
        var sum = 0;
        for (var i = 0; i < 64; i++) {
            sum += Math.pow(2, i)
        }
        document.write(sum)

        // 13, 求1! + 2! + 3! + 4! + 5!
        document.write("<br>");
        document.write("<br>");
        var result = 0;
        for (var i = 1; i <= 5; i++) {
            var sum = 1;
            for (var j = 1; j <= i; j++) {
                sum *= j;
            }
            result += sum;
        }
        document.write("1! + 2! + 3! + 4! + 5!=" + result)

        // 14, 找出所有的水仙花数,三位数,各位立方和等于该数本身。
        // 如: 153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3
        document.write("<br>");
        document.write("<br>");
        document.write("三位数的水仙花为:");
        for (var i = 100; i < 1000; i++) {
            if (i == Math.pow(parseInt(i / 100), 3) + Math.pow(parseInt(i / 10 % 10), 3) + Math.pow(parseInt(i % 10), 3)) {
                document.write(i + " ");
            }
        }


        // 15, 输入任意两个数,如果第一个数小,从第一个数打印到第二个数,如果第二个数小,从第二个数打印到第一个数
        document.write("<br>");
        document.write("<br>");
        var min = prompt("随便输入一个数值:", 55), max = prompt("再随便输入一个数值:", 10);
        if (min > max) {
            var tmp = min;
            min = max;
            max = tmp;
        }
        document.write(min + "-->" + max + "从数值小的打印到数值大的:")
        for (var i = min; i <= max; i++) {
            document.write(i + "->" + "&nbsp")
        }

        // 16, 输入两个数,求两个数的最大公约数(*****)
        // 如: 12和8的最大公约数是4,
        //     提示: 能够同时整除两个数的最大数
        // 1, 先找出两个数中最小的那个数,
        //     2, 最小数--, 找出能被两个数整除的数(退出循环break)
        document.write("<br>");
        document.write("<br>");
        var min = prompt("随便输入个数值:", 27), max = prompt("再随便输入个数值:", 12);
        var n = min,m=max;
        if (min > max) {
            var tmp = min;
            min = max;
            max = tmp;
        }
        while(max%min){
            var min,max,tmp;
            tmp = max%min;
            max = min;
            min = tmp;
        }
        var gys=1;
        gys=min;
        document.write(m +"和"+n +"两个数的最大公约数为:"+gys)
posted @ 2022-07-27 19:40  苏沐~  阅读(156)  评论(0)    收藏  举报