描述
每一年中都有 12 个月份。其中,1,3,5,7,8,10,12 月每个月有 31 天;4,6,9,11 月每个月有 30 天;而对于 2 月,闰年时有 29 天,平年时有 28 天。
现在,对应输入的日期,计算这是这一年的第几天。
一个年份是闰年当且仅当它满足下列两种情况其中的一种:
∙这个年份是 4 的整数倍,但不是 100 的整数倍;
∙这个年份是 400 的整数倍。
输入描述:
在一行上输入三个整数 a,b,c(1900≦a≦2200),分别代表年、月、日。保证输入的日期是合法的。
输出描述:
输出一个整数,代表输入的日期是这一年的第几天。
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
line = (await readline()).split(" ").map(Number);
let monthArr = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
monthArr.length = line[1];
// 判断是否是闰年并加上一天
let isLeapYear =
(line[0] % 4 === 0 && line[0] % 100 !== 0) || line[0] % 400 === 0
? 1
: 0;
let sum =
parseInt(eval(monthArr.join("+"))) +
line[2] +
(line[2] > 2 ? isLeapYear : 0);
console.log(sum);
})();