Объяснение:
Последовательность дней недели периодична с периодом 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 = 10; //количество элементов массива
var
a: array [1..n] of real;
i: integer;
begin
for i:= 1 to n do
begin
writeln('Введите ', i, ' элемент массива');
readln(a[i]); //вводим очередной элемент массива
end;
write('Исходный массив: ');
for i:= 1 to n do
write(a[i], ' '); //Выводим исходный массив
writeln; //Перевод на новую строку
write('Полученный массив: ');
for i:= 1 to n do
begin
a[i]:= a[i] * a[n]; //элемент массива умножаем на последний элемент
write(a[i], ' '); //выводим полученный элемент массива
end;
end.
program First_program;
var i: longint;
begin for i := 15 to 35 do begin if(i mod 2 = 0) then write(i, ' ') end;end.
Вторая программа:
program Second_program;
var i, h, g: integer; k: string;
begin k := ''; for i := 1 to 20 do if i mod 2 = 0 then write(i, ' '); writeln; for i := 20 to 30 do if odd(i) then k := k + i + ','; g := length(k); for i := g downto g - 1 do if (k[i] = ',') then delete(k, i, 1); write(k)end.
Третья программа:
program Third_program;
var i, sum, proz: integer;
begin sum := 0; proz := 1; for i := 1 to 10 do if (i mod 2 = 0) then sum := sum + i else proz := proz * i; writeln(sum); write(proz);end.
Четвертая программа:
program Fourth_program;
var i: longint; k: integer;
begin k := 0; for i := 10 to 99 do if (i mod 2 = 0) and (i mod 3 = 0) then k := k + i; write(k)end.