2.1 KiB
2.1 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f37f1000cf542c50fe92 | Завдання 19: Підраховуємо неділі | 5 | 301827 | problem-19-counting-sundays |
--description--
Нижче наведена наступна інформація, але Ви можете зробити певні дослідження самостійно.
- 1 січня 1900 року був понеділком.
- По 30 днів налічують вересень,
квітень, червень та листопад.
Усі інші - по 31 дню,
не враховуючи лютий,
який зазвичай має 28 днів.
А у високосні роки - 29 днів. - Високосний рік випадає на рік, який рівно ділиться на 4, але це не стосується сторіччя, хіба що воно кратне 400.
Скільки неділь випало на перше число місяця протягом двадцятого сторіччя (від 1 січня 1901 по 31 грудня 2000)?
--hints--
countingSundays(1943, 1946)
має повернути число.
assert(typeof countingSundays(1943, 1946) === 'number');
countingSundays(1943, 1946)
має повернути число 6.
assert.strictEqual(countingSundays(1943, 1946), 6);
countingSundays(1995, 2000)
має повернути число 10.
assert.strictEqual(countingSundays(1995, 2000), 10);
countingSundays(1901, 2000)
має повернути число 171.
assert.strictEqual(countingSundays(1901, 2000), 171);
--seed--
--seed-contents--
function countingSundays(firstYear, lastYear) {
return true;
}
countingSundays(1943, 1946);
--solutions--
function countingSundays(firstYear, lastYear) {
let sundays = 0;
for (let year = firstYear; year <= lastYear; year++) {
for (let month = 0; month <= 11; month++) {
const thisDate = new Date(year, month, 1);
if (thisDate.getDay() === 0) {
sundays++;
}
}
}
return sundays;
}