НА ПИТОНЕ
Опишите на русском языке или одном из языков программирования алгоритм подсчета числа элементов, равных максимальному, в числовом массиве из 30 элементов
ЕСТЬ РЕШЕНИЕ НА ПАСКАЛЕ:
var a:array[1..N] of integer;
max, k, i: integer;
begin
for i:=1 to N do readln(A[i]);
k:=1;
max:=a[1];
for i:=2 to N do begin
if a[i]=max then k:=k+1;
if a[i]>max then begin
max:=a[i];
k:=1
end
end;
writeln(k)
end.
Ответы
Ответ:
Задание:
Опишите на русском языке или одном из языков программирования алгоритм поиска номер первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них).
Решение:
Выделяем целочисленные переменные i1 и Sum; в i1 будем хранить номер первого в паре выбранных соседних элементов, а в Sum – их сумму. В i1 записываем начальное значение 1, а в Sum – сумму первых двух элементов. В цикле рассматриваем все элементы массива со второго до N-1, если сумма текущего элемента и следующего за ним больше Sum, то запоминаем эту сумму в переменной Sum, а номер текущего элемента – в i1.
const N=30;
var A:array[1..N] of integer;
i, i1, Sum: integer;
for i:=1 to N do readln(A[i]);
i1 := 1;
Sum := A[1] + A[2];
for i:=2 to N-1 do
if A[i]+ A[i+1] > Sum then begin
i1 := i;
Sum := A[i] + A[i+1];
end;
writeln(i1);
end.
k, N = 1, 30
a = [int(input()) for i in range(N)]
print(a)
_max = a[0]
for i in range(1, N):
if a[i] == _max:
k += 1
if a[i] > _max:
_max = a[i]
k = 1
print(k)