Объяснение:
Последовательность дней недели периодична с периодом 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 апреля – суббота)
Для ручного ввода числа:
a = int(input('Введите число: '))
b = bin(a)[2:]
print(b)
if b.count('1')%2 == 0:
b+='10'
else:
b+='00'
print(b)
print(int(b, base=2))
Числа, получившиеся в интервале от 16 до 32:
def getNumber(x):
b = bin(x)[2:]
print(b)
if b.count('1')%2 == 0:
b+='10'
else:
b+='00'
print(b)
return int(b, base=2)
i=1
k=0
count=0
while k<=32:
print(i)
k=getNumber(i)
print(k)
print()
i+=1
if 16 <= k <= 32: count+=1
print(f'Количество выходных чисел в промежутке от 16 до 32 равно {count}')
ответ: Количество выходных чисел в промежутке от 16 до 32 равно 5
2.Сама капуста
3.Посадить
4.Закопать
5.Полить
Вуаля