题目
【实验主题】
素数问题求解。计算(判断) 1~100中哪些是素数、哪些是合数。
素数也称为质数,是只能被1及其自身整除的自然数。与素数相对应的是合数,合数可以被分解为若干个素数的乘积,这些素数称为这个合数的质因数(素因数)。
【实验任务】
1、新建 .js文件,自定义2个函数。
1)编写自定义函数 isPrime(n),用于判断参数n是不是素数,分别返回 true or false。
2)编写自定义函数 calc100(),将100个数拼接到一个 10*10的二维表格中,其中以单元格的 2种不同背景色区分素数、合数。
2、新建 index.html。
1)至少定义 2组不同背景色的 CSS样式,用于区分素数、合数。建议定义更多 CSS样式,对表格做合理排版。
2)在页面中插入 js脚本以输出求解结果:document.write( calc100() );
效果图
index.html文件
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>100以内的素数与合数</title><style>table {margin: 0 auto;/* 设置表格居中对齐 */}td {width: 60px;/* 设置单元格宽度为80px */height: 60px;/* 设置单元格高度为80px */text-align: center;border: 1px lightpink solid;}</style></head><body><script src="script.js"></script><script>calc100();</script></body>
</html>
script.js文件
function isPrime(n) {if (n <= 1) {return false;}for (let i = 2; i <= Math.sqrt(n); i++) {if (n % i == 0) {return false;}}return true;
}function calc100() {var n = 1;document.write("<table cellspacing='0'>");for (let i = 0; i < 10; i++) {document.write("<tr>");for (let j = 0; j < 10; j++) {if (isPrime(n))document.write("<td style='background-color:yellow'>" + (n++) + "</td>");elsedocument.write("<td style='background-color:lightblue'>" + (n++) + "</td>");}document.write("</tr>");}document.write("</table>");
}