Дан массив, содержащий 2020 целых чисел, от −10000 до 10000. Необходимо найти наибольший кратный 4 элемент этого массива. После чего в массиве изменить все элементы кратные 4 на это значение и вывести массив.
Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов 112 4 27 95 148 программа должна вывести числа 148 148 27 95 148 по одному числу в строке. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
| Бейсик | Python |
|---|---|
CONST N=2020 DIM A(N) AS INTEGER DIM I, M, K AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END
| # допускается также #использование #целочисленных # переменных m, k a = [] N = 2020 for i in range(0, N): a.append(int(input())) …
|
| Паскаль | Алгоритмический язык |
const N=2020; var a: array [1..N] of integer; i, m, k: integer; begin for i:=1 to N do readln(a[i]); … end.
| алг нач цел N=2020 целтаб a[1:N] цел i, m, k нц для i от 1 до N ввод a[i] кц … кон |
| Си++ | |
#include <iostream> using namespace std; const int N = 2020; int main(){ int a[N]; int i, m, k; for (i=0; i < N; i++) cin >> a[i]; … return 0; }
| |
В качестве ответа необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и версию языка программирования). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
| Паскаль |
|---|
k := -10000; for i := 1 to N do if (a[i] > k) and (a[i] mod 4 = 0) then k:=a[i]; for i := 1 to N do begin if (a[i] mod 4 = 0) then a[i] := k; writeln(a[i]) end |
| Алгоритмический язык |
k := -10000 нц для i от 1 до N если a[i] > k и mod(a[i], 4) = 0 то k := a[i] все кц нц для i от 1 до N если mod(a[i], 4) = 0 то a[i] := k все вывод a[i], нс кц |
| Бейсик |
K = -10000 FOR I = 1 TO N IF A(I) > k AND A(I) MOD 4 = 0 THEN K = A(I) END IF NEXT I FOR I = 1 TO N IF A(I) MOD 4 = 0 THEN A(I) = K END IF PRINT A(I) NEXT I |
| Python |
k = -10000 for i in range(0, n): if (a[i] > k and a[i] % 4 == 0): k = a[i] for i in range(0, n): if (a[i] % 4 == 0): a[i] = k print(a[i]) |
| Си |
k = -10000; for (i = 0; i < N; i++) if (a[i] > k && a[i]%4 == 0) k = a[i]; for (i = 0; i < N; i++) { if (a[i]%4 == 0) a[i] = k; cout << a[i]; } |

