Дан целочисленный массив из \(N = 40\) элементов. Элементы массива могут принимать значения от -5000 до 15000. Опишите на одном из языков программирования алгоритм, который находит и выводит сумму элементов массива, кратных 3.
Например, для исходного массива из 6 элементов
23
45
3
4
9
101
программа должна вывести 57.
(Под условие подходят элементы 45, 3, 9. Их сумма равна 45 + 3 + 9 = 57).
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из переменных. Индексация элементов в массиве начинается с 0.
\[\begin{array}{|l|l|l|} \hline \text{Бейсик} & Python & \text{Алгоритмический язык} \\ \hline CONST \; N \; AS \; INTEGER \; = \; 40 &\# \; \text{допускается также} &\text{алг} \\ DIM \; A \; (0 \; TO \; N-1) \; AS \; LONG \; &\# \; \text{использовать три} &\text{нач} \\ DIM \; I \; AS \; LONG & \# \; \text{ целочисленные переменные i,t,k} & \quad \text{цел} \; N = 40 \\ \quad \quad \; \; T \; AS \; LONG& a \; = [] &\quad \text{целтаб} \; a[0:N-1] \\ \quad \quad \; \; K \; AS \; LONG& n \; = \; 40&\quad \text{цел} \; i, \; t, \; k \\ FOR \; I \; = \; 0 \; TO \; N-1 &for \; i \; in \; range(0, \; n):&\quad \text{нц для} \; i \; \text{от} 0 \; \text{до} \; N-1 \\ \quad \quad \; \; INPUT \; A(I)& \quad a.append \; (int(input()))&\quad \quad \text{ввод} \; a[i] \\ NEXT \; I& ...&\quad \text{кц }\\ ... & &... \\ END & & \text{кон} \\ \hline \end{array}\]
\[\begin{array}{|l|l|} \hline \text{Паскаль} & C++ \\ \hline const &\#include \; <iostream> \\ \quad N = 40 & using \; namespace \; std; \\ var & const \; int \; N = 40; \\ \quad a: \; array \; [0..N-1] \; of \; longint; & int \; main() \{ \\ \quad i, \; t, \; k: \; longint; &long \; a[N]; \\ begin & long \; i, \; t, \; k; \\ \quad for \; i \; := 0 \; to \; N-1 \; do &for \; (i = 0; \; i < N; \; i++) \; cin >> a[i]; \\ \quad \quad readln (a[i]); & ... \\ ... &return \; 0; \\ end. & \} \\ \hline \end{array}\]
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в приведённых фрагментах.
В цикле \(for\) от 0 до \(N\) будем перебирать все элементы массива.
В переменной \(t\) будем хранить сумму элементов, кратных 3. Так как изначально таких элементов нет, обнулим в первой строке \(t\). В цикле мы будем проверять, кратен ли элемент 3 (если остаток от деления числа на 3 равен 0, то кратен, иначе - нет). Если кратен, то увеличим \(t\) на значение этого элемента. Тогда к концу цикла в \(t\) будет храниться сумма всех элементов, кратных 3. Вне цикла выведем \(t\) в соответствии с условием.
Пример на C++:
\(t = 0; \)
\(for \; (i = 0; \; i < N; \; i++)\)
\(\quad if \; (a[i] \; \% \; 3 \; == 0) \; t \; += a[i]; \; \)
\(cout << t; \)
Ответ: См.решение