计45班杨云鸿的模拟题

风流意气都作罢 提交于 2020-08-11 18:36:16

第一题: 倒叙输出1000以内的3与7的公倍数。 第二题: 定义一个函数,传入一个100以内的整数,输出从1开始加到这个数的和。 比如传入4,输出1+2+3+4的和10 比如传入99,输出1+2+3+……+99的和4950 第三题: 有一个数组[16, 3, 8, 2, 0, 8, 12, 21, 18, 32, 26, 59, 27, 65, 41];通过程序输出这个数组所包含数字的方差。 let y = [18, 4, 24, 23, 2, 38, 19, 22, 38, 42, 23, 39, 17, 15, 40]; let u = y.length; let o = 0; for (let i = 0; i < u; i++) { o += y[i];} let p = o / u; console.log(p); 第四题: 自幂数指:一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。 比如: n=3时:371 = 3×3×3 + 7×7×7 + 1×1×1,是自幂数。 n=4时:9474 = 9×9×9×9 + 4×4×4×4 + 7×7×7×7 + 4×4×4×4,是自幂数。 n=2时:31 ≠ 3×3 + 1×1,不是自幂数; 通过编写程序,判断出10000以内的全部自幂数,并全部push进一个自定义数组。 输出这个数组。 第五题: 编写一个函数,传入的参数是年、月、日,返回这一天是这一年的第几天。 比如: 输入2017,1,1,输出1。(即2017年1月1日是2017年的第1天。) 输入2019,12,10,输出344。(即2019年12月10日是2019年的第344天。) 输入2020,6,10,输出162。(即2020年6月10日是2020年的第162天。)

//第一题
			let w =1000-1000%(3*7);
		for (let q = w; q >= 3*7; q -=3*7) {
		 console.log(q);}
		 
//第二题
		 function crz(incrz){
			 let c = 0;
			 for (let d = 1;d <=incrz;d++){
				 c +=d;}
				 return c;}
				 console.log(crz(100));
				 
//第三题
		let y =[16,3,8,2,0,8,12,21,18,32,26,59,27,65,41];
		let u = y.length;
		let o = 0;
		for (let i = 0; i < u; i++) {
		 o += y[i];}
		let p = o / u;
		let x=[(16-p)*(16-p)+(3-p)*(3-p)+(8-p)*(8-p)+(2-p)*(2-p)+(0-p)*(0-p)+(8-p)*(8-p)+(12-p)*(12-p)+(21-p)*(21-p)+(18-p)*(18-p)+(32-p)*(32-p)+(26-p)*(26-p)+(59-p)*(59-p)+(27-p)*(27-p)+(65-p)*(65-p)+(41-p)*(41-p)]/15
		console.log(x);
		
//第四题
		let array = [];
		//循环。初始值为0,最大值为10000,每次变化自增1
		for (let num = 0; num < 10000; num++) {
			//x为一个数的自幂,暂定初始值为0
			let x = 0;
			//数字转化成文本
			let numStr = num.toString();
			//求数字转化成的文本的长度
			let n = numStr.length;
			//通过循环,求一个数的自幂
			for (let i = 0; i < n; i++) {
				//Math.pow('x', n)为x的n次方  
				x += Math.pow(numStr[i], n);
			}
			//判断这个数的自幂是否等于本身
			if (num === x) {
				//把自幂数push进数组
				array.push(num);
			}
		}
		//输出自幂数数组
		console.log(array);
		
		
//第五题
		function day(y, m, d) {
			//每个月有多少天,用数组表示
			let getMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30];
			//sum1:这个月之前的月份天数之和,初始值为0
			let sum1 = 0;
			for (let i = 0; i < m - 1; i++) {
				sum1 += getMonth[i];
			}
			//判断年是否为闰年,是且大于2月份加一
			if ((y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) && m > 2) {
				sum = sum1 + d + 1;
			} else {
				sum = sum1 + d;
			}
			return sum;
		}
		console.log(day(2020, 6, 10));

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!