Предмет: Информатика, автор: Никитa1Бубнов

дан массив содержащий 2021 положительных целых чисел не превышающих 15000. необходимо найти количество чётных элементов массива, не кратных 3, заменить все нечетные элементы, кратные 3 на это количество и вывести измененный массив.
Например, для исходного массива из пяти элементов 20, 89, 27, 92, 48 программа должна вывести числа 20, 89, 2, 92, 48.
Ниже приведена часть неполной программы, которую надо дополнить.

Приложения:

Никитa1Бубнов: ну да, там было и на С++ как альтернативный способ решения, но сути от этого не меняет
Никитa1Бубнов: я хочу просто понять, каким оператором это решается?
Никитa1Бубнов: У меня обратная ситуация
Никитa1Бубнов: спасибо конечно, сам желаю перейти. Однако мне это задание нужно для олимпиады: хочу понять как решить это задание
Никитa1Бубнов: const
N=2021;
var a:array[1..N] of integer;
i,m,k:integer;
begin
m:=15000; k:=0;
for i:=1 to N do
begin
readln(a[i]);
if (a[i] mod 2=0)and(a[i] mod 3>0)and(a[i] k:=k+1;
end;
for i:=1 to N do
begin
readln (a[i]);
if (a[i] mod 2=1)and(a[i] mod 3=0)and(a[i] then a[i]:=k
end;
writeln(a[i],'');
end.
Никитa1Бубнов: у меня такое получилось, но оно не выводит то, что надо

Ответы

Автор ответа: motorny0919
0

Ответ: на python.

k = sum(1 for i in a if i%2 == 0 and i%3 > 0)

for i in range(0,N):

 if a[i]%2 == 1 and a[i]%3 == 0:

   a[i] = k

 print(a[i])

Похожие вопросы