Дан целочисленный массив из 30 элементов. элементы массива могут принимать значе-ния от -20 до 20 — сведения о температуре за каждый день ноября. опишите на языке или на одном из языков программирования алгоритм, который находит и выводит максимальную температуру среди дней, когда были заморозки (то есть температура опускалась ниже нуля). гарантируется, что хотя бы в один день ноября была отрицательная температура.
исходные данные объявлены так, как показано ниже. запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
n=30
dim a(n) as integer
dim i, j, max as
integer
for i = 1 to n
input a(i)
next i
end
ответ: Python
nk = input().split()
N = int(nk[0])
K = int(nk[1])
count = 0
prev = set('a')
for x in range(N):
s = input().split()
set_s = set(s[1:])
if set_s.issuperset(prev) == False:
count += 1
prev = set_s
print(count)
Объяснение:
Решал, подразумевая, что одно и то же K не может повторяться несколько раз на одной строке.
Псевдокод алгоритма:
1. Получаем N
2. Получаем K
3. Создаем переменную count для подсчета операций
4. Создаем множество prev для сохранения каждого предыдущего множества
5. Прогоняем цикл N раз:
6. Получаем список s от пользователя
7. Получаем множество set_s из списка s
8. Проверяем, если предыдущее множество prev не является подмножеством set_s:
9. То к count прибавляем 1
10. Присваиваем prev значение set_s
program CheckSum;
var
number1, number2, number3: longint;
function Check(n: longint): boolean;
var
sum: longint;
begin
sum := 0;
while n > 0 do
begin
sum := sum + n mod 10;
n := n div 10;
end;
Check := sum = 10;
end;
begin
writeln('Введите два числа через пробел:');
readln(number1, number2);
if number1 < 0 then
begin
write('Нужно ввести положительное число.');
end
else
begin
if Check(number1) then
begin
write('Да');
end
else
begin
write('Нет');
end;
end;
if number2 < 0 then
begin
write(' Нужно ввести положительное число.');
end
else
begin
if Check(number2) then
begin
write(' Да');
end
else
begin
write(' Нет');
end;
end;
writeln();
repeat
write('Введите число >= 0: ');
readln(number3);
if number3 < 0 then
begin
writeln('Нужно ввести положительное число.');
end;
until number3 >= 0;
if Check(number3) then
begin
writeln('Да');
end
else
begin
writeln('Нет');
end;
end.