Последовательность дней недели периодична с периодом 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 апреля – суббота)
Const N = 3; M = 4; Var A:array[1..N,1..M] of integer; i,j,Min,Max:integer; Begin WriteLn('Введите матрицу A[',N,',',M,']:'); For i:= 1 to N do For j:= 1 to M do Read(A[i,j]); WriteLn; For i:= 1 to N do Begin Min:=1; For j:= 2 to M do if A[i,Min]>A[i,j] then Min:=j; Max:=1; For j:= 2 to N do if A[Max,Min]<A[j,Min] then Max:=j; if Max=i then WriteLn('A[',i,',',Min,'] = ',A[i,Min]) End; End.
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 апреля – суббота)
N = 3;
M = 4;
Var
A:array[1..N,1..M] of integer;
i,j,Min,Max:integer;
Begin
WriteLn('Введите матрицу A[',N,',',M,']:');
For i:= 1 to N do
For j:= 1 to M do
Read(A[i,j]);
WriteLn;
For i:= 1 to N do
Begin
Min:=1;
For j:= 2 to M do
if A[i,Min]>A[i,j] then Min:=j;
Max:=1;
For j:= 2 to N do
if A[Max,Min]<A[j,Min] then Max:=j;
if Max=i then WriteLn('A[',i,',',Min,'] = ',A[i,Min])
End;
End.
Пример:
Введите матрицу A[3,4]:
4 3 6 -4
2 -3 -9 -5
2 4 -6 -9
A[1,4] = -4