В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
aliyaaaa
aliyaaaa
12.06.2022 14:08 •  Информатика

Обозначим дни недели числами от 1 (понедельник) до 7 (воскресенье) соответственно. по известному m — дню недели первого числа текущего месяца — определите день недели числа n. по возможности решите без использования условных операторов и\или циклов. входные данные на вход программе 2 целых числа 1 ≤ n ≤ 31, 1 ≤ m ≤ 7, каждое в отдельной строке выходные данные выведите день недели числа n.

Показать ответ
Ответ:
polyaХеХеХе
polyaХеХеХе
05.10.2020 22:49
Последовательность дней недели периодична с периодом 7, поэтому номер дня недели можно найти, взяв остаток от деления: (номер дня недели первого числа + сколько Такое решение будет давать верный ответ для всех дней недели кроме воскресенья: для воскресений будет выведен ноль (а не 7). Решить это можно, перенумеровав все номера дней недели с нуля, а не с единицы.

m - 1 – номер дня недели первого числа месяца (считая с 0)
n - 1 – пройдёт от первого числа 
(m + n - 2) mod 7 – номер нужного дня недели (считая с 0)
(m + n - 2) mod 7 + 1 – ответ.

Программа (PascalABC.NET):
begin
  var n := ReadInteger;
  var m := ReadInteger;
  print((m + n - 2) mod 7 + 1)
end.

Пример ввода:
7
7

Пример вывода:
6
(Действительно, 1 апреля 2018 года – воскресенье, а сегодня, 7 апреля – суббота)
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота