Обозначим дни недели числами от 1 (понедельник) до 7 (воскресенье) соответственно.

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

Задать свой вопрос
1 ответ
Последовательность дней недели периодична с периодом 7, потому номер денька недели можно отыскать, брав остаток от разделения: (номер денька недели первого числа + сколько прошло) mod 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 апреля суббота)
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт