Напишите программу, определяющую, сколько воскресений приходится на первое число месяца в данном году.
Мы пройдем первое число каждого месяца в году и проверим, является ли это воскресеньем. Мы будем использовать счетчик и будем увеличивать его всякий раз, когда найдем воскресенье.
Реализация с использованием JavaScript:
Сначала нам нужно узнать day
любого заданного date
в JavaScript. Это связано с тем, что JavaScript использует встроенный объект Date, реализующий getDay
— который для определенной даты возвращает day of the week
.
Пример:
const mydate = new Date('November 30, 2021 23:15:30'); const day1 = mydate.getDay(); console.log(day1); OUTPUT: 2
Он представляет собой период с воскресенья по субботу, начиная с 0
до 6
, т. е. это Sunday
, когда getDay
возвращает 0
.
Таким образом, мы просто перебираем 1-й из всех месяцев в данном году и сохраняем количество воскресений в переменной-счетчике.
function numSundaysOnFirst(year) { let sundays = 0; for (let month = 1; month <= 12; month++) { if (new Date(year, month, 1).getDay() === 0) { sundays++; } } return sundays; }
Вот и все.
Вы также можете потренироваться в небольшой вариации этой задачи на платформе HackerRank здесь.
Ссылка на другие вопросы по программированию —
Найти максимальную прибыль при планировании заданий
Преобразование двоичного числа в связанном списке в целое число
Найти совершенные, недостаточные и избыточные числа