JavaScript循环语句练习

1, 一个新入职,月工资为2000元的员工,每年涨当年工资5%,20年后的月工资是多少?

 

        var salary = 2000
        var year = 1
        while (year <= 20){
            salary = salary*1.05
            year++;
        }
        console.log(salary);

 

 

 

 

2, 山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸挑满?通过编程解决这个问题。

 

         var sum = 15
        var every = 0
        while(sum<50){
            sum = sum +5
            every++
        }
        console.log(every);

 

 

 

 

3, 打印100–200之间所有能被3或者7整除的数

 

        for(var i=100;i<200;i++){
          if(i % 3 == 0 || i % 7 == 0){
                console.log(i);
          }
        }

 

 

 

 

4, 计算10的阶乘 (1*2*3*4*5*6*7*8*9*10 n的阶乘1*2……*n)

 

        var  i = 1;
        var product  = 1;
        while (i<10){
            i++
            product*=i
        }
        console.log(product);

 

 

 

 

5, 计算1+3+5+...+99的和

 

        var  i = 1;
        var sum  = 0;
        while (i<=100){
            sum=sum+i;
            i=i+2;
        }
        console.log(sum);

 

 

 

 

6, 99乘法表

 

for (var a=1;a<=9;a++) {
for (var b=1;b<a+1;b++) {
document.write(b+"×"+a+"="+a*b+" &nbsp;&nbsp;")
}   
document.write("<br/>");
document.write("<br/>");
}

 

 

 

 

7, 输出20~80之间能被3整除的整数, 每行5个

 

复制代码
    var a=0,b="";
        for(i=20;i<=80;i++){
            if(i%3==0){
                a++;
                b+=i+"&nbsp";
                if(a%5==0){
                    document.write(b+"<br>");
                    b="";
                }
            }
        }
复制代码

 

 

 

 

8, 打印1000~2000年中所有的闰年, 每行4个

 

复制代码
        var a=0,b="";
        for(num=1000;num<=2000;num++){
            if(num%4==0 && num%100!=0 || num%400==0){
                a++;
                b+=num+"&nbsp";
                if(a%4==0 && num<=1988){
                    document.write(b+"<br>");
                    b="";
                }
                if(num>1988){
                    document.write(b);
                    b="";
                }
            }
        }
        document.write("<br>");
复制代码

 

 

 

 

9, 求: 1-1/2+1/3-1/4 … 1/100的和

 

复制代码
        var a=0,b=0;
        for(i=1;i<=100;i++){
            if(i%2==0){
                a-=1/i;
            }else{
                b+=1/i;
            }
        }
        document.write(a+b);
复制代码

 

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

复制代码
        var a=prompt("1.请输入第一个数:",24),b=prompt("1.请输入第二个数:",36);
        if(a==0 || b==0){
            document.write("两个数没有公倍数!");
        }else if(a>b){
            for(i=a;i<=a*b;i++){
                if(i%a==0 && i%b==0){
                    document.write("两个数的最小公倍数是:"+ i);
                    break;
                }   
            }
        }else{
            for(i=b;i<=a*b;i++){
                if(i%a==0 && i%b==0){
                    document.write("两个数的最小公倍数是:"+ i);
                    break;
                }
            }
        }
        document.write("<br>");
复制代码

 

 

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),...

        var n=3,a=2
        var sum =0
        var str =""
        for(var i=0;i<n;i++){
            str+=a
            sum+=Number(str)
        }
        console.log(sum);

 

 

11, 五位数中,对称的数称为回文数,找出所有的回文数。 如: 12321

        for(i=10000;i<100000;i++){
            if((i-i%10000)/10000 == i%10 && (i%10000-i%1000)/1000==(i%100-i%10)/10){
                document.write(i +"&nbsp");
                if((i%1000-i%100)/100==9){
                    document.write("<br>"); 
                }
            }
        }

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

 

        var a=1;
        for(i=2;i<64;i++){
            a*=2;
        }
        document.write(a);

 

 

 

13, 求1!+2!+3!+4!+5!

 

复制代码
        var result = 0
        for(var i=1;i<=5;i++){
            var sum = 1
            for(var j=1;j<=i;j++){
                sum*=j
            }
            result+=sum
        }
        console.log(result);
复制代码

 

 

 

 

14, 找出所有的水仙花数,三位数,各位立方和等于该数本身。 如: 153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3

 

         for(i=100;i<1000;i++){
            if(Math.pow((i-i%100)/100,3)+Math.pow((i%100-i%10)/10,3)+Math.pow(i%10,3)==i){
                document.write(i +"<br>");
            }
        }
        document.write("<br>");

 

 

 

 

15, 输入任意两个数,如果第一个数小,从第一个数打印到第二个数,如果第二个数小,从第二个数打印到第一个数

 

复制代码
         var a=prompt("15.请输入第一个数:",24),b=prompt("15.请输入第二个数:",36);
        if(a>b){
            a=b;
            document.write(a +"&nbspand&nbsp"+ b);
        }else if(a<b){
            b=a;
            document.write(a +"&nbspand&nbsp"+ b);
        }else{
            document.write(a +"&nbspand&nbsp"+ b);
        }
        document.write("<br><br>");
复制代码

 

 

 

 

16, 输入两个数,求两个数的最大公约数(*****) 如: 12和8的最大公约数是4, 提示: 能够同时整除两个数的最大数 1, 先找出两个数中最小的那个数, 2, 最小数--, 找出能被两个数整除的数(退出循环break)

 

复制代码
        var a=prompt("16.请输入第一个数:",24),b=prompt("16.请输入第二个数:",36);
        if(a==0 || b==0){
            document.write("两个数没有公约数!");
        }else if(a>b){
            for(i=b;i>0;i--){
                if(a%i==0 && b%i==0){
                    document.write("两个数的最大公约数是:"+ i);
                    break;
                }
            }
        }else{
            for(i=a;i>0;i--){
                if(a%i==0 && b%i==0){
                    document.write("两个数的最大公约数是:"+ i);
                    break;
                }
            }
        }
复制代码

 

posted @   半夕  阅读(441)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示