循环练习

  • 循环练习已关闭评论
  • 9 次浏览
  • A+
所属分类:Web前端
摘要

题目:在页面中接收一个用户输入的数字,并判断该数是否是质数。方法一 代码实现:


练习一:质数相关

题目:在页面中接收一个用户输入的数字,并判断该数是否是质数。

方法一 代码实现:

<!DOCTYPE html> <html>     <head>         <meta charset="UTF-8" />         <title></title>         <script type="text/javascript">             /*             质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数。          */              const num = prompt('请输入一个大于1的整数:');              //判断这个值是否合法             if (num <= 1) {                 alert('该值不合法!');             } else {                 //先用flag标志位,来保存当前的数的状态                 //默认当前num是质数                 let flag = true;                  //判断num是否是质数                 //获取2-num之间的数                 for (let i = 2; i < num; i++) {                     //console.log(i);                     //判断num是否能被i整除                     if (num % i == 0) {                         //一旦发现:如果num能被i整除,则说明num一定不是质数,                         //此时:设置flag为false,然后跳出 for 循环                         flag = false;                         break;                     }                 }                  //如果num是质数则输出                 if (flag) {                     alert(num + '是质数!!!');                 } else {                     alert('这个不是质数');                 }             }         </script>     </head>      <body></body> </html> 

方法二 代码实现:

//方法一的简化 var num = parseInt(prompt("输入一个数字"))             for (var i = 2; i < num / 2 + 1; i++) {                 if (num % i == 0) {                     alert("不是质数")                 } else {                     alert("是质数")                 }                 break;             } 

方法三 代码实现:

 //思路:质数只有1和它本身两个因数,所以只需判断因数的个数就可以确定是不是质数 var num2 = parseInt(prompt("输入一个数字"))                 var count = 0  //用来统计因数的个数                 for (var i = 1; i <= num2; i++) {                              if (num2 % i == 0) {                         console.log(i)                         count++                     }                   }                 console.log(count)                 if (count == 2) {                     alert("是质数")                 } 

练习二:质数相关

题目:打印 1~100 之间的所有质数

代码实现:

<!DOCTYPE html> <html>     <head>         <meta charset="UTF-8" />         <title></title>         <script type="text/javascript">             /*              * 打印出1-100之间所有的质数              */              //打印2-100之间所有的数             for (let i = 2; i <= 100; i++) {                 //创建一个布尔值,用来保存结果,默认i是质数                 let flag = true;                  //判断i是否是质数                 //获取到2-i之间的所有的数                 for (let j = 2; j < i; j++) {                     //判断i是否能被j整除                     if (i % j == 0) {                         //如果进入判断则证明i不是质数,修改flag值为false                         flag = false;                     }                 }                  //如果是质数,则打印i的值                 if (flag) {                     console.log(i);                 }             }         </script>     </head>      <body></body> </html> 

打印结果:

循环练习

练习三:99 乘法表

代码实现:

<!DOCTYPE html> <html>     <head>         <meta charset="UTF-8" />         <title></title>         <style type="text/css">             body {                 width: 2000px;             }              span {                 display: inline-block;                 width: 80px;             }         </style>         <script type="text/javascript">             /*              * 1.打印99乘法表              *   1*1=1              *   1*2=2 2*2=4              *   1*3=3 2*3=6 3*3=9              *   1*4=4 2*4=8 3*4=12 4*4=16              *                      ....9*9=81              *              * 2.打印出1-100之间所有的质数              */              //创建外层循环,用来控制乘法表的高度             for (let i = 1; i <= 9; i++) {                 //创建一个内层循环来控制图形的宽度                 for (let j = 1; j <= i; j++) {                     document.write('<span>' + j + '*' + i + '=' + i * j + '</span>');                 }                  //输出一个换行                 document.write('<br />');             }         </script>     </head>      <body></body> </html> 

页面效果:

循环练习