//日期计算 用户输入年月日,返回是这一年的第几天
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 = "";//清空空格的字符串
}