练习一:质数相关
题目:在页面中接收一个用户输入的数字,并判断该数是否是质数。
方法一
代码实现:
/* 质数:只能被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('这个不是质数'); } }
方法二
代码实现:
//方法一的简化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 之间的所有质数
代码实现:
/* * 打印出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); } }
打印结果:
练习三:99 乘法表
代码实现:
body { width: 2000px; } span { display: inline-block; width: 80px; } /* * 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('' + j + '*' + i + '=' + i * j + ''); } //输出一个换行 document.write('
'); }
页面效果: