Последовательность дней недели периодична с периодом 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 апреля – суббота)
Объяснение:
Последовательность дней недели периодична с периодом 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 апреля – суббота)
а) 76
б) 21
Объяснение:
Прямой код – это представление числа в двоичной системе счисления, при котором старший разряд отводится под знак числа.
Это значит, что если первая цифра в числе - единица, то число отрицательное; иначе - положительное
Далее переводим число в десятичную систему счисления:
1) Нумеруем разряды справа налево от 0 до 7 (например возьмем первое число):
разряд: 7 6 5 4 3 2 1 0
число: 0 1 0 0 1 1 0 0
Как говорилось выше, 7-й разряд отводится под знак. В данном случае он равен 0 следовательно число положительное.
Далее умножаем значение разряда (0 или 1) на 2 в степени его номера и складываем получившиеся числа:
0*(2^0) + 0*(2^1) + 1*(2^2) + 1*(2^3) + 0*(2^4) + 0*(2^5) + 1*(2^6) = 0 + 0 + 4 + 8 + 0 + 0 + 64 = 76