zoukankan      html  css  js  c++  java
  • js练习题2共8题

    <p>1 打印出1-100里所有的偶数</p>

    <script>
      // for(var i=1;i<=100;i++){
      //   if(i%2==0){
      //     document.write(i+" ");
      //   }
      // }
    </script>
    View Code

    <p>2 打印出1-100里所有的奇数</p>

    <script>
      // for(var i=1;i<=100;i++){
      //   if(i%2==1){
      //     document.write(i+" ");
      //   }
      // }
    </script>
    View Code

    <p>3 求出1-1/2+1/3-1/4…..1/100的结果</p>

    <script>
      // 把所有加减数都看成加数,如把(-1/2)看成+(-1/2)
      var j=0; //保存所有加数
      for(var i=2;i<=100;i++){ /*加数的分母,从2开始*/
        if(i%2==0){ /*如果能是偶数,置为正数,-1/i*/
          j+=-1/i; /*把这些数相加并保存起来*/
        }else{ /*如果能是偶数,置为负数+1/i*/
          j+=+1/i; /*把这些数相加并保存起来*/
        }
      }
      console.log(1+j); /*然后加上所有的加数*/
    </script>
    View Code

    <p>4 输出20-80之间能被3整除的整数,每5个一行</p>

    <script>
      var j=1;/*保存已经获得的个数*/
      for(var i=20;i<=80;i++){
        if(i%3==0){/*如果i是能被3整除的数*/
          document.write(i+" ");就把i输出
          if(j%5==0){/*如果是5的倍数,也就是满5个那就输入一个转行*/
            document.write("<br>")
          }
          j++;
        }
      }
    </script>
    View Code

    <p>5 打印出1000-2000年中所有的闰年,并以每行四个数的形式输出(提示:四年一闰,百年不闰,四百再闰)。</p>

    <script>
      //
      var j=0; /*保存闰个数*/
      for(var i=1000;i<=2000;i++){
        if((i%100!=0)){ /*不是100年的*/
          if(i%4==0){ /*不是100年且是4年的*/
            j++;
            document.write(i+" ")
            if(j%4==0){
              document.write("<br>")
            }
          }
        }else{
          if(i%400==0){ /*是400年的*/
            j++;
            document.write(i+" ")
            if(j%4==0){
              document.write("<br>")
            }
          }
        }
      }
      //
      var j=0; /*保存闰年个数*/
      for(var i=1000;i<=2000;i++){
        if((i%4==0&&i%100!=0)||(i%400==0)){ /*能被4整除且不能被100整数,或,能被400整除*/
          j++;
          document.write(i+" ");
          if(j%4==0){ /*如果闰年个数为4个再输出一个转行*/
            document.write("<br>");
          }
        }
      }
    </script>
    View Code

    <p>6 输入一个数,判断其是否为素数(提示:在大于1的自然数中,除了1和它本身以外不再有其他因数的数)。</p>

    <script>
      //方法一
      document.write('<input id="ipt"><button id="btn">判断</button>');
      var ipt=document.getElementById("ipt");
      var btn=document.getElementById("btn");
      btn.onclick=function(){
        var j=0;/*保存因数个数*/
        if(!(isNaN(ipt.value))&&!(ipt.value<=1)&&!(ipt.value=="")&&!(ipt.value%1!=0)){//条件分别是:不为非数字、不小于等于1、不为小数
          for(var i=1;i<=ipt.value;i++){
            if((ipt.value/i)%1==0){ /*如果余数为0,就是因数。 【(ipt.value/i)%1】 可以写成 【(ipt.value)%i】 */
              j++;
            }
          }
          if(j==2){ /*如果因数个数最大为2*/
            alert("是素数")
          }
        }else{
          alert("请输入大于1的整数")
        }
      }
    
      //方法二,数字4有问题
      // document.write('<input id="ipt"><button id="btn">判断</button>');
      // var btn=document.getElementById("ipt");
      // var btn1=document.getElementById("btn");
      // btn1.onclick=function(){
      //   var number=parseInt(btn.value);
      //   if(abc(number)){ /*如果abc()返回真才执行*/
      //     alert(number + "是素数");
      //   }else{
      //     alert(number + "不是素数");
      //   }
      // }
      // function abc(num){ /*相当于在函数内的声明了变量: var num*/
      //   if(num==1){ //1不是素数
      //     return false; //结束函数
      //   }else{
      //     for(var i=2;i<Math.sqrt(num);i++){ //如数字10中5(一半)以下的除不尽,5以上也没有能除尽的了。所以开方一下Math.sqrt,以减少循环。
      //       if(num%i==0){
      //         return false;
      //       }
      //     }
      //   }
      //   return true;
      // }
    
    </script>
    View Code

    <p>7 求100-200之间的素数</p>

    <script>
      for(var i=100;i<=200;i++){
        var k=0; /*保存因数个数*/
        for(var j=1;j<=i;j++){ /*除数*/
          if((i/j)%1==0){ 如果商没有小数,开始合计因数个数
            k++;
          }
        }
        if(k==2){ /*因数总个数为2就是素数*/
          document.write(i+" ")
        }
      }
    </script>
    View Code

    <p>8 任给正整数n,计算  1!+2!+3!+ …+n!。(提示:3!=3*2*1)</p>

    <script>
      document.write('<input id="ipt"><button id="btn">计算</button>');
      var ipt=document.getElementById("ipt");
      var btn=document.getElementById("btn");
      var j=1; /*保存阶乘值*/
      var k=0; /*保存阶乘值的和*/
      btn.onclick=function(){
        if(!(isNaN(ipt.value)) && !(ipt.value%1!=0) && !(ipt.value<1)){
          for(var i=1;i<=ipt.value;i++){
            j*=i;
            k+=j;
          }
          alert(k)
        }else{
          alert("请输入大于1的整数")
        }
      }
    </script>
    View Code

    <p>9 求Sn=a+aa+aaa+……+aa……a之值,其中a是一个数字,n是文本框输入的。</p>

    <script>
      document.write('输入a:<input id="ipt" value>输入n:<input id="ipt2"><button id="btn">计算</button>')
      btn.onclick=function(){
        var s1=0;
        var s2=0;
        var a=document.getElementById("ipt");
        var n=document.getElementById("ipt2");
        var btn=document.getElementById("btn");
        if((!(isNaN(n.value)) && !(n.value<1) && !(n.value%1!=0)) && !(isNaN(a.value)) && !(a.value<1) && !(a.value%1!=0)){
          for(var i=0;i<=(n.value-1);i++){ /*i是次方*/
            s1+=a.value*Math.pow(10,i); /*从低位开始还原数位,如1=1*10^1;10=1*10^2;100=10*10^3;...再把他们相加,也就是s1,合成完整数字。如111*/
            s2+=s1; /*把每次合成的值保存在s2中,作为题目中的加数之一*/
          }
          alert(s2*2-s1);//从题目的式子可以看出,1+11+111+11+1,其中出了111只被加一次其他都加了两次,所以直接把之前计算的s2*2再减去最后合成的一个数s1就可以了。
        }else{
          alert("请输入大于0的整数")
        }
      }
    
      document.write('输入a:<input id="ipt" value>输入n:<input id="ipt2"><button id="btn">计算</button>')
      btn.onclick=function(){
        var s1=0;
        var s2=0;
        var a=document.getElementById("ipt");
        var n=document.getElementById("ipt2");
        var btn=document.getElementById("btn");
        if((!(isNaN(n.value)) && !(n.value<1) && !(n.value%1!=0)) && !(isNaN(a.value)) && !(a.value<1) && !(a.value%1!=0)){
          for(var i=0;i<=(n.value-1);i++){ /*i是次方*/
            s1+=a.value*Math.pow(10,i); /*从低位开始还原数位,如1=1*10^1;10=1*10^2;100=10*10^3;...再把他们相加,也就是s1,合成完整数字。如111*/
            s2+=s1; /*把每次合成的值保存在s2中,作为题目中的加数之一*/
          }
          alert(s2);//从题目的式子可以看出,1+11+111+11+1,其中出了111只被加一次其他都加了两次,所以直接把之前计算的s2*2再减去最后合成的一个数s1就可以了。
        }else{
          alert("请输入大于0的整数")
        }
      }
    </script>
    View Code
  • 相关阅读:
    浅谈Java并发编程系列(八)—— LockSupport原理剖析
    mac上安装MongoDB
    在Mac上搭建Python虚拟环境
    Django项目上传到AWS服务器上
    Django部署
    Getting Started with Django Rest Framework and AngularJS
    Tutorial 7: Schemas & client libraries
    Tutorial 6: ViewSets & Routers
    Tutorial 5: Relationships & Hyperlinked APIs
    Tutorial 4: Authentication & Permissions
  • 原文地址:https://www.cnblogs.com/daysme/p/6123231.html
Copyright © 2011-2022 走看看