javascript验证质数,完数,回环数,杨辉三角,斐波那契数列,输出特定图形等练习题

图形题

1、左直角三角形

		for (var i = 0; i < 5; i++) {
				for (var j = 0; j <= i; j++) {
					document.write("* ");
				}
				document.write("<br/>");
			}

结果为:
在这里插入图片描述

2、右直角三角形

			for (var i = 0; i < 5; i++) {
				for (var j = 0; j < 5; j++) {
					if(4-j>i){
						document.write("&nbsp; ");
					}
					else{
						document.write("&nbsp;*");
					}					
				}
				document.write("<br/>");
			}

结果为:
在这里插入图片描述

3、等腰三角形

			for (var row = 0; row < 6; row++) {
				for (var j = 0; j <= 11; j++) {
					if(j>=6-row&&j<=6+row){
						document.write("&nbsp;*");
					}
					else{
						document.write("&nbsp; ");
					}
				}
				document.write("<br/>");
			}

结果为:
在这里插入图片描述

4、菱形

			for (var row = 0; row < 6; row++) {
				for (var j = 0; j <= 11; j++) {
					if(j>=6-row&&j<=6+row){
						document.write("&nbsp;*");
					}
					else{
						document.write("&nbsp; ");
					}
				}
				document.write("<br/>");
			}
			for (var row = 4; row >=0; row--) {
				for (var j = 0; j <= 11; j++) {
					if(j>=6-row&&j<=6+row){
						document.write("&nbsp;*");
					}
					else{
						document.write("&nbsp; ");
					}
				}
				document.write("<br/>");
			}

结果为:
在这里插入图片描述

5、空心菱形

			for (var row = 0; row < 6; row++) {
				for (var j = 0; j <= 11; j++) {
					if(j==6-row||j==6+row){
						document.write("&nbsp;*");
					}
					else{
						document.write("&nbsp; ");
					}
				}
				document.write("<br/>");
			}
			for (var row = 4; row >=0; row--) {
				for (var j = 0; j <= 11; j++) {
					if(j==6-row||j==6+row){
						document.write("&nbsp;*");
					}
					else{
						document.write("&nbsp; ");
					}
				}
				document.write("<br/>");
			}

结果为:
在这里插入图片描述

计算题

1、输出1到100偶数的和

			var num = 0,i=0;			
			for (var i =0;i<=100;i++) {
				if(i%2==0){
					num = num+i;
				}				
			}

结果为:2550

2、倒过来的99乘法口诀

			//99乘法口诀倒过来
			document.write("<table border='1'>")
			for (var i=1;i<10;i++) {
				document.write("<tr>");
				for (var j=1;j<10;j++) {
					if(i>j){
						document.write("<td>"+"&nbsp;"+"</td>");
					}else{
						var num =i*j;
						document.write("<td>"+i+"*"+j+"="+num+"</td>");
					}					
				}
				document.write("</tr>");
			}
			document.write("</table>")

结果为:
在这里插入图片描述

3、输出1到400年的闰年

闰年定义:
1,能被4整除,但不能被100整除的是普通闰年
2,能被400整除是世纪闰年

		for(var i=1;i<=400;i++){
				if(i%100 !=0&&i%4==0 || i%400==0){
					document.write(i+" ");
				}
			}

结果为:
在这里插入图片描述

4、求阶层1!+2!+3!+…+10!的和

			var num = 0;
			for (var i=1;i<=10;i++) {
				var chengji =1;
				for (var j=1;j<=i;j++) {
					var chengji =chengji*j;
				}
				num = num +chengji;
			}
			document.write(num);

结果为:4037913

5、输出斐波那契数列前30位的值

			var arr = new Array();
			for (var i=0;i<30;i++) {
				if (i==0) {
					arr[i] = 1;
				} else if(i==1){
					arr[i] = 1;
				}else {
					arr[i]=arr[i-1]+arr[i-2];
				}
			}
			for (var j=0; j<arr.length;j++) {
				document.write(arr[j]+" ");
			}

结果为:
在这里插入图片描述

6、输出1到100的所有质数

质数定义:
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,又被称为素数。

for (var i=2;i<100;i++) {
		//设置一个标记为true
		var flag = true;
		for (var j=2; j<i;j++) {
			//验证是否除了1和本身外能否被其他数整除+
			if(i%j==0){
				//能整除的话,不是质数并跳出第二个for循环,进入第一个for循环
				flag = false;
				break;
			}					
		}
		//如果只能被1和本身整除,则输出为质数
		if(flag){
			document.write(i+" ");
		}
}

结果为:
在这里插入图片描述

7、质因数分解

方法一:

	var a =80;
	//当循环到i=2,a=5时,继续循环i++,加到i=5,i=n,跳出while循环
	document.write(a+"的质因数分解为:");
	var i = 2;
	while(i!=a){
		if(a%i==0){
			a=a/i;
			document.write(i+",");
		}else{
			i++
		}	
	}
	document.write(a);

方法二:

			var a =80;
			document.write(a+"的质因数分解为:");
			for (var i = 2; i < a;) {
				if(a%i==0){
					a=a/i;
					document.write(i+",");
				}else{
					i++
				}				
			}
			document.write(a);

结果为:
在这里插入图片描述

8、输出1000以内的完数

完数定义:
它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”

		for(var i = 1; i <= 1000; i++) {
				//设置一个标记为true
				var flag = true;
				//求证
				//设置初始和为0
				var sum = 0;
				for(var j = 1; j < i; j++) {
					//验证i是否能整除比自己小的数
					if(i % j == 0) {
						//如果能整除(既是真因子),把能正因子相加,i除外
						sum += j;
					}
				}
				//当和等于i时,flag为真,i是完数
				flag = (sum == i);
				if(flag) {
					document.write(i + "是完数<br/>")
				}
			}

结果为:
在这里插入图片描述

9、验证一个五位数是否是回环数

回环数定义:
第一个数字与这个数字的最后一个数相同,第二个数与倒数第二个数相同… 除了最中间那个数
例如:1234321就是回环数,因为第一位与第七位相同,第二位与第六位相同

			var n =prompt("请输入一个五位数:")
			if(n / 10000 > 1) {
				//万位
				var a = parseInt(n / 10000);
				var a1 = n % 10000;
				//千位
				var b = parseInt(a1 / 1000);
				var b1 = a1 % 1000;
				//百位
				var c = parseInt(b1 / 100);
				var c1 = b1 % 100;
				//十位
				var d = parseInt(c1 / 10);
				//个位
				var e = c1 % 10;
				if(a == e && b == d) {
					alert(n + "是回环数");
				} else {
					alert(n + "不是回环数");
				}
			} else {
				alert("输入不规范,请重新输入")
			}

例如输入12321,结果为:
在这里插入图片描述

10、输出杨辉三角前十行

			//杨辉三角
			//创建一个二维数组
			var arr =new Array(10);
			for (var k = 0; k < arr.length; k++) {
				arr[k] = new Array();
			}
			//把杨辉三角装入二维数组中
			for (var i = 0; i < 10; i++) {
				//设置每一行第一个值都为1
				arr[i][0]=1;
				document.write(arr[i][0]+" ");
				for (var j = 0; j < arr.length; j++) {
					//判断是否是每一行最后一项					
					if(i==j&&i!=0){
						//如果是,赋值为1
						arr[i][j]=1;
						document.write(arr[i][j]);
					}else if(i>j&&j!=0){
						//如果不是,通过此公式计算每一项
						arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
						document.write(arr[i][j]+" ");
					}
				}
				//换行
				document.write("<br/>");
			}

结果为:
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值