Ejercicios del ciclo js (incluidos los números narcisos de salida típicos, números primos, tabla de multiplicar del 99, triángulos hacia adelante / hacia atrás)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//1.输出1-100之间的所有数
			for (var i = 1; i <= 100; i++) {
    
     //从1开始,到100结束,每次增加1,进行循环
				console.log(i) //输出数据
			}
			console.log('====================================')

			//2. 输出1-100之间的所有的偶数
			for (var i = 1; i <= 100; i++) {
    
     //控制取数区间
				if (i % 2 == 0) {
    
     //判断符合条件的数
					console.log(i); //对符合条件的数进行输出
				}
			}

			console.log('====================================')

			// 3.输出三角形

			for (var i = 1; i <= 6; i++) {
    
     //外循环控制三角形的层数
				for (var j = 1; j <= i; j++) {
    
     //内循环控制每行的三角形个数
					document.write('*')
				}
				document.write('<br>') //外循环控制换行
			}

			console.log('====================================')

			// 4. 输出倒三角
			for (var i = 1; i <= 6; i++) {
    
     //外循环控制三角形的层数
				for (var j = 1; j <= 7 - i; j++) {
    
     //内循环控制每行的三角形个数,由于是到三角形,随着层数的增加没层三角形的个数减少
					document.write('*');
				}
				document.write('<br>');
			}

			console.log('====================================')

			// 5. 输出正金字塔
			var n = Number(prompt("请输入您想要的金字塔的层数:")) //获取用户期望的金字塔层数
			for (var i = 1; i <= n; i++) {
    
    
				for (var a = 1; a < n - i; a++) {
    
     //正金字塔的每一行都是由空格和*组成,空格随着层数的增加而减少
					document.write('&nbsp;')
				}
				for (var b = 1; b <= 2 * (i - 1) + 1; b++) {
    
     //观察目标图形,可以得出层数和*个数的关系式
					document.write('*')
				}
				document.write('<br>') //注意换行
			}
			
			console.log('====================================')


			// 6. 输出倒金字塔
	var n = Number(prompt('请输入您想要的层数:')) //获取用户期望的倒金字塔层数
	for (var i = 1; i <= n; i++) {
    
    
			for (var b = 1; b <= i - 1; b++) {
    
     //通过观察得到层数和空格的关系式
				document.write('&nbsp;')
			}
			for (var a = 1; a <= 2 * (n - i) + 1; a++) {
    
     //通过观察得到层数和*的关系式
				document.write('*')
			}
			document.write('<br>')
	}

			console.log('====================================')



			// 7. 输出99乘法表
			for (var h = 1; h <= 9; h++) {
    
     //外层控制行
				for (var l = 1; l <= h; l++) {
    
     //内层循环控制列
					if (l == 2 && (h == 3 || h == 4)) {
    
    
						document.write(l + '×' + h + '=' + l * h + '&nbsp;&nbsp; &nbsp;&nbsp;') // 为了使表格对齐,在这儿多输出了几个空格
					} else {
    
    

						document.write(l + '×' + h + '=' + l * h + '&nbsp;&nbsp;&nbsp;') //不难看出99乘法口诀表的规律等于列乘以行
					}
				}
				document.write('<br>')
			}


			console.log('====================================')

			// 8. 输出带表格的99乘法表

			document.write('<table style= "border-collapse: collapse;"cellspacing="0">') // 设置表格的1像素边框,消除单元格之间的间距
			for (var h = 1; h <= 9; h++) {
    
    
				document.write('<tr>') //外循环写入行
				for (var l = 1; l <= h; l++) {
    
    
					document.write('<td style="border: 1px solid  skyblue;">') //内循环写入列(单元格)
					document.write(l + '×' + h + '=' + l * h)
					document.write('</td>') //列结束
				}
				document.write('</tr>') //行结束
			}
			document.write('</table>') //表格结束标签



			console.log('====================================')


			// 9. 输出所有4位数中含有3 或者7的数据
			var count = 0; // 计数器
			for (var i = 1000; i <= 9999; i++) {
    
    
				var a = parseInt(i / 1000); //获得千位上的数值
				var b = parseInt(i / 100 % 10); //获得百位上的数值
				var c = parseInt(i / 10 % 10); //获得十位上的数值
				var d = parseInt(i % 10); //获得个位上的数值
				if (a == 3 || b == 3 || c == 3 || d == 3 || a == 7 || b == 7 || c == 7 || d == 7) {
    
     //判断一个四位数中是否包含3或者7
					document.write(i + '<br>')
					count++; //每次输出一个符合条件的数据,就自增1
				}
			}
			document.write('所有4位数中包含3或者7的数据总共有' + count + '个') //字符串拼串操作


			console.log('====================================')



			//10. 获取三位数中的所有水仙花数
			//水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
			var counts = 0;

			for (var i = 100; i <= 999; i++) {
    
    
				var a = parseInt(i / 100); //获得百位上的数值
				var b = parseInt(i / 10 % 10); //获得十位上的数值
				var c = parseInt(i % 10); //获得个位上的数值
				if (a * a * a + b * b * b + c * c * c == i) {
    
    
					counts++;
					document.write(i + '是三位数中第' + counts + '个水仙花数' + '<br>') //记录每一个水仙花数是多少
					console.log(i)
				}
			}
			document.write(counts)
			console.log('在三位数中,共有' + counts + '个水仙花数') //输出总个数

			console.log('====================================')


			// 11.输出1-100之间的所有质数

			var flag = true; // true是质数,false不是质数
			for (var i = 1; i <= 100; i++) {
    
    
				for (var j = 2; j < i; j++) {
    
     // 用这个数从2开始到自身前一个数进行逐个取余,如果余数是0,说明不是质数
					if (i % j == 0) {
    
    
						flag = false; //不是质数
						break;
					}
				}
				if (flag && i != 1) {
    
     // 如果flag没有被赋值成false,表示没有进过上面循环的if中,自身还是true
					console.log(i);
				}
				flag = true; //重置 
			}
			
			
		</script>
	</body>
</html>

Supongo que te gusta

Origin blog.csdn.net/xiaozuo144/article/details/109864941
Recomendado
Clasificación