Web程序设计-实验03 JavaScript语言基础

发布于:2024-04-20 ⋅ 阅读:(19) ⋅ 点赞:(0)

题目

【实验主题】

素数问题求解。计算(判断) 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>");
			else
				document.write("<td style='background-color:lightblue'>" + (n++) + "</td>");
		}
		document.write("</tr>");
	}
	document.write("</table>");
}