经典案例-打印杨辉三角计算天数
Posted opacity-m
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典案例-打印杨辉三角计算天数相关的知识,希望对你有一定的参考价值。
//日期计算 用户输入年月日,返回是这一年的第几天 let readline = require("readline-sync"); console.log("请输入年份"); let year = parseInt(readline.question("")); console.log("请输入月份"); let month = parseInt(readline.question("")); console.log("请输入日期"); let day = parseInt(readline.question("")); let sum = 0; switch(month-1) { case 11: sum += 30; case 10: sum += 31; case 9: sum += 30; case 8: sum +=31; case 7: sum += 31; case 6: sum += 30; case 5: sum += 31; case 4: sum += 30; case 3: sum += 31; case 2: { if((year%4==0 && year%100!=0) || year%400==0) { sum += 29; } else{ sum += 28; } } case 1: sum += 31; } console.log(`这是今年的第${sum+day}`);
//打印杨辉三角 // 1 // 1 1 // 1 2 1 // 1 3 3 1 // 例如用户输入4 // 1行 1个数 a[0][0] 1 // 2行 2个数 a[1][0] 1 a[1][1] 1 // 3行 3个数 a[2][0] 1 a[2][1] 2 a[2][2] 1 // 4行 4个数 a[3][0] 1 a[3][1] 3 a[3][2] 3 a[3][3] 1 // 假设数组的第一个下标为i 第二个下标为j // j=0 a[i][j] = 1 // i==j a[i][j] = 1 // a[i][j] = a[i-1][j-1] + a[i-1][j] let readline = require("readline-sync"); console.log("请输入杨辉三角的行数:"); let line = parseInt(readline.question("")); let arr = [];//声明一个空数组用于存储杨辉三角里面的数 let str = "";//用于拼接字符串 //外层for循环用于控制杨辉三角的行数 for(let i=0;i<line;i++) { arr[i] = [];//开辟空间,使其成为二维数组 //内层for循环 控制要打印数字的个数 通过上面简单分析 第多少行 就打印多少个数 for(let j=0;j<=i;j++) { if(j==0 || i==j) { arr[i][j] = 1; } else{ arr[i][j] = arr[i-1][j-1] + arr[i-1][j]; } } //该层for循环主要用于打印空格 for(let j=0;j<line-i;j++) { str += " "; } console.log(str + arr[i]);//打印前面的空格以及该行数字 str = "";//清空空格的字符串 }
以上是关于经典案例-打印杨辉三角计算天数的主要内容,如果未能解决你的问题,请参考以下文章