39. 质数练习

<!DOCTYPE html>
<html>
     <head>
         <meta charset=”UTF-8″>
         <title></title>
         <script type=”text/javascript”>
             /*
              * 在页面中接收一个用户输入的数字,并判断该数是否是质数。
                 质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数。   
              */
            
             var num = prompt(“请输入一个大于1的整数:”);
            
            
             //判断这个值是否合法
             if(num <= 1){
                 alert(“该值不合法!”);
             }else{
                
                 //创建一个变量来保存当前的数的状态
                 //默认当前num是质数
                 var flag = true;
                
                 //判断num是否是质数
                 //获取2-num之间的数
                 for(var i=2 ; i<num ; i++){
                     //console.log(i);
                     //判断num是否能被i整除
                     if(num % i == 0){
                         //如果num能被i整除,则说明num一定不是质数
                         //设置flag为false
                         flag = false;
                     }
                 }
                
                 //如果num是质数则输出
                 if(flag){
                     alert(num + “是质数!!!”);
                 }else{
                     alert(“这个不是质数”)
                 }
                
                
             }
            
            
         </script>
     </head>
     <body>
     </body>
</html>

38. for循环

<!DOCTYPE html>
<html>
     <head>
         <meta charset=”UTF-8″>
         <title></title>
         <script type=”text/javascript”>
            
             /*
              * 打印1-100之间所有7的倍数的个数及总和
              */
             //定义一个变量,来保存总和
             var sum = 0;
             //定义一个计数器,来记录数量
             var count = 0;
            
             //打印1-100之间所有的数
             for(var i=1 ; i<=100 ; i++){
                
                 //判断i是否是7的倍数
                 if(i % 7 == 0){
                     //console.log(i);
                     sum += i;
                     //使计数器自增1
                     count++;
                    
                 }
                
             }
            
             //输出总和
             console.log(“总和为:”+sum);
             //输出总数
             console.log(“总数量为:”+count);
            
            
            
         </script>
     </head>
     <body>
     </body>
</html>

<!DOCTYPE html>
<html>
     <head>
         <meta charset=”UTF-8″>
         <title></title>
         <script type=”text/javascript”>
            
             /*
              * 水仙花数是指一个3位数,它的每个位上的数字的3 次幂之和等于它本身。
                 (例如:1^3 + 5^3 + 3^3 = 153),请打印所有的水仙花数。
              */
            
             //打印所有的三位数
             for(var i=100 ; i<1000 ; i++){
                
                 //获取i的百位 十位 个位的数字
                 //获取百位数字
                 var bai = parseInt(i/100);
                
                 //获取十位的数字
                 var shi = parseInt((i-bai*100)/10);
                
                 //获取个位数字
                 var ge = i % 10;
                
                 //判断i是否是水仙花数
                 if(bai*bai*bai + shi*shi*shi + ge*ge*ge == i){
                     console.log(i);
                 }
                
                
             }
            
            
         </script>
     </head>
     <body>
     </body>
</html>

37.3 for循环练习3

<!DOCTYPE html>
<html lang=”en”>
<head>
     <meta charset=”UTF-8″>
     <title>练习4</title>
     <script type=”text/javascript”>
         /**
          * 水仙花数
          */
         var i_ge=0;//个位数
         var i_shi=0;//十位数
         var i_bai=0;//百位数
         for (var i = 100; i < 1000; i++) {
             //得到三位数的每个位上的数

            /**
              * 345
              *
              * i/100=3.45;
              *
              * i_bai=parseInt(i/100);
              *
              * i/10=34.5
              *
              * i_shi=parseInt(i/10-i_bai*10);
              *
              * i_ge=parseInt(i-i_bai*100-i_shi*10);
              */
             i_bai=parseInt(i/100);
             i_shi=parseInt(i/10-i_bai*10);
             i_ge=parseInt(i-i_bai*100-i_shi*10);

            if (i_bai*i_bai*i_bai+i_shi*i_shi*i_shi+i_ge*i_ge*i_ge==i){
                 alert(i);
             }
         }
     </script>
</head>
<body>

</body>
</html>

37.2 for循环练习2

<!DOCTYPE html>
<html lang=”en”>
<head>
     <meta charset=”UTF-8″>
     <title>练习3</title>
     <script type=”text/javascript”>
         /**
          * 打印1-100之间所有7的倍数的数的个数以及总和
          */

        var sum=0;//总和
         var count=0;//个数
         for (var i = 0; i <= 100 ; i++) {
             if (i%7==0){
                 sum+=i;
                 count++;
             }

         }

        alert(“1-100之间所有7的倍数的数的个数为:”+count+”总和为:”+sum);
     </script>
</head>
<body>

</body>
</html>

37.1 for循环练习1

<!DOCTYPE html>
<html lang=”en”>
<head>
     <meta charset=”UTF-8″>
     <title>练习2</title>
     <script type=”text/javascript”>
         /**
          * 打印1-100之间所有奇数只和
          */

        var sum=0;//总和
         var sum_ji =0;//奇数和
         var sum_ou =0;//偶数和
         for (var i = 0; i <= 100; i++) {
             sum += i;
             if (i%2!=0){
                 sum_ji +=i;
             }
         }

        sum_ou=sum-sum_ji;
         alert(“1-100之间的数的总和和为:”+sum);
         alert(“1-100之间奇数的和为:”+sum_ji);
         alert(“1-100之间ou数的和为:”+sum_ou);
     </script>
</head>
<body>

</body>
</html>

37. for循环

<!DOCTYPE html>
<html>
     <head>
         <meta charset=”UTF-8″>
         <title></title>
         <script type=”text/javascript”>
            
             /*
              * for语句,也是一个循环语句,也称为for循环
              *     在for循环中,为我们提供了专门的位置用来放三个表达式:
              *         1.初始化表达式
              *         2.条件表达式
              *         3.更新表达式
              *
              *  for循环的语法:
              *         for(①初始化表达式;②条件表达式;④更新表达式){
              *             ③语句…
              *         }
              *
              *         for循环的执行流程:
              *             ①执行初始化表达式,初始化变量(初始化表达式只会执行一次)
              *             ②执行条件表达式,判断是否执行循环。
              *                 如果为true,则执行循环③
              *                 如果为false,终止循环
              *             ④执行更新表达式,更新表达式执行完毕继续重复②
              */
            
             //创建一个执行10次的while循环
             //初始化表达式
             /*var i = 0;
            
             //创建一个循环,定义条件表达式
             while(i < 10){
                 //设置更新表达式
                 alert(i++);
             }*/
            
             for(var i = 0 ; i < 10 ; i++ ){
                 alert(i);
             }
            
             /*
              * for循环中的三个部分都可以省略,也可以写在外部
              *     如果在for循环中不写任何的表达式,只写两个;
              *     此时循环是一个死循环会一直执行下去,慎用
              *     for(;;){
                     alert(“hello”);
                 }
              */
            
            
            
            
            
            
            
         </script>
     </head>
     <body>
     </body>
</html>

37. while练习2

<!DOCTYPE html>
<html>
     <head>
         <meta charset=”utf-8″ />
         <title>if练习1</title>
         <script type=”text/javascript”>
             /*
              *     从键盘输入小明的期末成绩:
              *    当成绩为100时,’奖励一辆BMW’
              *    当成绩为[80-99]时,’奖励一台iphone15s’
              *    当成绩为[60-80]时,’奖励一本参考书’
              *    其他时,什么奖励也没有
              */
            
             /*
              * prompt()可以弹出一个提示框,该提示框中会带有一个文本框,
              *     用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,
              *     该字符串将会作为提示框的提示文字
              *
              * 用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接收该内容
              */
             //将prompt放入到一个循环中
             while(true){
                 //score就是小明的期末成绩
                 var score = prompt(“请输入小明的期末成绩(0-100):”);
                 //判断用户输入的值是否合法
                 if(score >= 0 && score <= 100){
                     //满足该条件则证明用户的输入合法,退出循环
                     break;
                 }
                
                 alert(“请输入有效的分数!!!”);
             }
            
            
            
             //判断值是否合法
             if(score > 100 || score < 0 || isNaN(score)){
                 alert(“拉出去毙了~~~”);
             }else{
                 //根据score的值来决定给小明什么奖励
                 if(score == 100){
                     //奖励一台宝马
                     alert(“宝马,拿去~~~”);
                 }else if(score >= 80){
                     //奖励一个手机
                     alert(“手机,拿去玩~~~”);
                 }else if(score >= 60){
                     //奖励一本参考书
                     alert(“参考书,拿去看~~~”);
                 }else{
                     alert(“棍子一根~~”);
                 }
             }
            
            
            
            
            
            
         </script>
     </head>
     <body>
        
     </body>
</html>

36. while练习1

<!DOCTYPE html>
<html>
     <head>
         <meta charset=”UTF-8″>
         <title></title>
         <script type=”text/javascript”>
            
             /*
              * 假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年
              *
              * 1000 1000*1.05
              * 1050 1050*1.05
              */
            
             //定义一个变量,表示当前的钱数
             var money = 1000;
            
             //定义一个计数器
             var count = 0;
            
             //定义一个while循环来计算每年的钱数
             while(money < 5000){
                 money *= 1.05;
                
                 //使count自增
                 count++;
             }
            
            
             //console.log(money);
             console.log(“一共需要”+count+”年”);
            
            
            
         </script>
     </head>
     <body>
     </body>
</html>

35. 循环语句

<!DOCTYPE html>
<html>
     <head>
         <meta charset=”UTF-8″>
         <title></title>
         <script type=”text/javascript”>
            
            
             /*
              * 向页面中输出连续的数字
              */
             /*var n = 1;
             document.write(n++ +”<br />”);*/
            
             /*
              * 循环语句:
              *     通过循环语句可以反复的执行一段代码多次
              *
              * while循环
              *     – 语法:
              *         while(条件表达式){
              *             语句…
              *         }
              *
              *     – while语句在执行时,
              *         先对条件表达式进行求值判断,
              *             如果值为true,则执行循环体,
              *                 循环体执行完毕以后,继续对表达式进行判断
              *                 如果为true,则继续执行循环体,以此类推
              *             如果值为false,则终止循环
              *
              * do…while循环
              *     – 语法:
              *         do{
              *             语句…
              *         }while(条件表达式)
              *
              *     – 执行流程:
              *         do…while语句在执行时,会先执行循环体,
              *             循环体执行完毕以后,在对while后的条件表达式进行判断,
              *             如果结果为true,则继续执行循环体,执行完毕继续判断以此类推
              *             如果结果为false,则终止循环
              *
              *         实际上这两个语句功能类似,不同的是while是先判断后执行,
              *             而do…while会先执行后判断,
              *         do…while可以保证循环体至少执行一次,
              *             而while不能
              */
             var n = 1;
            
             //向这种将条件表达式写死为true的循环,叫做死循环
             //该循环不会停止,除非浏览器关闭,死循环在开发中慎用
             //可以使用break,来终止循环
             /*while(true){
                 alert(n++);
                
                 //判断n是否是10
                 if(n == 10){
                     //退出循环
                     break;
                 }
                
             }*/
            
             //创建一个循环,往往需要三个步骤
            
             //1.创初始化一个变量
             var i = 11;
            
             //2.在循环中设置一个条件表达式
             /*while(i <= 10){
                 //3.定义一个更新表达式,每次更新初始化变量
                 document.write(i++ +”<br />”)
                
             }*/
            
             /*do{
                 document.write(i++ +”<br />”);
             }while(i <= 10);*/
            
             /*while(true){
                 alert(1);
             }*/
            
         </script>
     </head>
     <body>
     </body>
</html>