js练习题

本文提供一系列JavaScript编程练习题,旨在提升JavaScript基础和实际应用能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<script text = "javascript">
    //        水仙花数:
    //       for(var i = 100; i < 1000 ; i ++){
    //           var a = parseInt(i / 100);
    //           var b = parseInt((i % 100)/10);
    //           var c = i % 10;
    //           if (i == Math.pow(a,3) + Math.pow(b,3) + Math.pow(c,3)){
    //               console.log(i);
    //           }
    //       }
    
     //       用户输入一个数,求该数所有的因数的个数:
    //      var i = parseInt(prompt("请输入一个整数:"));
    //      var num = 0 ;
    //      for (var m = 1 ; m <=Math.sqrt(i) ; m++ ){
    //          if (i % m == 0){
    //              num += 1;
    //          }
    //      }
    //      alert(2*num);
    
            //判断质数
    
    //       var num = parseInt(prompt("请输入一个整数:"));
    //       console.time();                           //Chrome中内置了time() 和timeEnd()可以用于求函数运行时间
    //       var Flag = true;
    //       for(var i = 2; i< num; i++) {           //这里不能用i<=num;要用i< num;否则当i= num时,会进入if,导致后面的Flag一直为false
    //           if (num % i == 0) {
    //               Flag = false;
    //           }
    //       }
    //       if(Flag){
    //           alert(num +"是质数");
    //       }
    //       else{
    //           alert(num+"不是质数")
    //       }
    //       console.timeEnd();
    //
    //
    ////         判断质数优化:
    //            var num = parseInt(prompt("请输入一个整数:"));
    //            console.time();
    //            var Flag = true;
    //            s = Math.sqrt(num);
    //            for(var i = 2; i<= s; i++) {           //将判断条件改为i<=Math.sqrt(num),用来缩小判断范围,达到优化
    //                if (num % i == 0) {
    //                    Flag = false;
    //                    break;                          //加多一个break 之后,优化明显,运行更快;
    //                }
    //            }
    //            if(Flag){
    //                alert(num +"是质数");
    //            }
    //            else{
    //                alert(num+"不是质数")
    //            }
    //            console.timeEnd();
    
    //         判断质数(老师解答)
    //      //用户输入一个数字
    //      var num = parseInt(prompt("请输入数字"));
    //      // 找因数
    //      // 比如用户输入48,要从1~48,分别让48除以这个数
    //      // 穷举法
    //      var amount = 0;		//个数,累加器
    //      for(var i = 1 ; i <= num ; i++){
    //          if(num % i == 0){
    //              // console.log(i);		//不想输出
    //              amount++;		//自增1
    //          }
    //      }
    //      //循环语句结束之后,总量就已经产生了,弹出结果:
    //      if(amount == 2){
    //          alert("是质数");
    //      }else{
    //          alert("不是!!");
    //      }
    
    //        计算某个函数的调用次数(Chrome中内置了一个 console.count方法)
    //        function someFunction() {
    //            console.count('some 已经执行');
    //        }
    //
    //        function otherFunction() {
    //            console.count('other 已经执行');
    //        }
    //
    //        someFunction(); // some 已经执行: 1
    //        someFunction(); // some 已经执行: 2
    //        otherFunction(); // other 已经执行: 1
    //
    //        console.count(); // default: 1
    //        console.count(); // default: 1
    
    
    
    
    
    //        输出1~num的所有质数
     //   var num = parseInt(prompt("请输入一个整数:"));
    //
     //   function factor(m){          //用来求因数个数的函数
     //       var sum = 0;             //求因数个数的总和,注意变量名和函数名不要重复
     //       for (var i = 1 ;i <=m; i++) {
     //           if (m % i == 0) {
     //               sum += 1
     //           }
     //       }
     //       return sum;
     //   }
    //
     //   function judge_prime(m){      //判断是否为质数,当因数个数为2时,则为质数
     //       if(factor(m) == 2){
     //           return true;
     //       }
     //       else{
     //           return false;
     //       }
     //   }
    //
     //   for(var i = 2;i <= num; i++){
     //       if(judge_prime(i)){
     //           console.log(i);
     //       }
     //   }
    
    
    //       不使用函数求解1~num间的指数
    //       var num = parseInt(prompt("请输入一个整数:"));
    
    //       for(var m = 2; m <= num; m++){
    //           var sum = 0;
    //           for(var i = 1; i <= m; i++) {
    //               if (m % i == 0) {
    //                   sum++;
    //               }
    //           }
    //               if(sum == 2){
    //                   console.log(m);
    //           }
    //       }
    
    //      哥德巴赫猜想(乱解)
    //       var num = parseInt(prompt("请输入一个偶数:"));        //原先思路想求出num中所有偶数,然后再从其中遍历一个数与另一个数的和等于该偶数:太麻烦!
    //       for(var i = 2; i <= num ; i++){
    //           var sum = 0;
    //           for(var j = 1; j <= i; j++){
    //               if(i % j == 0){
    //                   sum++;
    //               }
    //           }
    //           if(sum == 2){
    //
    //           }
    //       }
    
            //哥德巴赫猜想(正解)
     //     var num = parseInt(prompt("请输入一个偶数:"));     //用来接收用户输入的偶数
     //     function factor_num(i){                            //函数用来求解传入值有多少个因数
     //         var sum = 0;
     //         for( var j = 1; j <=i ;j++){
     //             if(i % j == 0){
     //                 sum ++;
     //             }
     //         }
     //         return sum;
     //     }
     //     function judge_prime(i){                            //当因数为2时,判断传入值为质数
     //         if(factor_num(i) == 2){
     //             return true;
     //         }else{
     //             return false;
     //         }
     //     }
     //     for(var m = 1; m <= num; m++){                      遍历1~num,当m与(100-m)同时为质数时,输出m与(100-m)
     //         if(judge_prime(m) && judge_prime(num - m)){
     //             console.log(num + "可以显示为"+ m +"与"+ (num - m) + "的和");
     //         }
     //     }
    
    
           // 斐波那契数列        1 1 2 3 5 8 13 21 34 55 89....
                //输入一个数字n,控制台输出前n位的值;      (递归思想)
    //       var n = parseInt(prompt("请输入一个整数:"));           //输入的值如果太大,死机。
    //       for(var i = 1; i <=n; i++){
    //          var m = fib(i);
    //           console.log(m);
    //       }
    //       function fib(n){
    //           if(n == 1){
    //               return 1;
    //           }else if(n == 2){
    //               return 1;
    //           }else{
    //               return fib(n-2) + fib(n-1);
    //           }
    //       }
    
            //求1~n的完全数:
    //        var n = parseInt(prompt("请输入一个整数:"));
    //        function factor_sum(n){                              //函数用于求n的所有因数的和
    //            var sum = 0;
    //            for(var i = 1; i<=n; i++){
    //                if(n % i == 0){
    //                    sum += i;
    //                }
    //            }
    //            return sum;
    //        }
    //        for(var i = 1; i <= n; i++){                    //遍历1~n,当所有因数之和等于2n时,则为完全数
    //            if(factor_sum(i) == 2*i){
    //                console.log(i);
    //            }
    //        }
    
       //     求3/2+4/3+5/4++++101/100;
     //       原式为:99+(1/2+1/3+1/4+++1/100)
     //     var sum = 0;
     //     for(var i = 2 ; i<=100; i++){
     //         sum += 1/i;
     //     }
     //     alert(99+sum);
    


</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值