Задание № 7191

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от -10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, сумма которых кратна 13 и положительна. Под парой подразумеваются два подряд идущих элемента массива.

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

Бейсик


N = 40
DIM A(N) AS INTEGER
DIM I, J, К AS INTEGER
FOR I = 1 TO N
    INPUT A(I)
NEXT I
. . .
END

Алгоритмический язык

алг
нач
    цел N = 40
    цел таб а[1:N]
    цел i, j, k
    нц для i от 1 до N
        ввод а[i]
    кц
...
кон

Паскаль

const
N = 40;
var
    a: array [1..N] of integer;
    i, j, k: integer;
begin
    for i := 1 to N do
        readln(a[i]);

...
end.

Си

#include <stdio.h>
#define N 40
void main()
{
    int a[N];
    int i, j, k;
    for (i = 0; i < N; i++)
    scanf ("%d", &a[i]);
...
}

Естественный язык

Объявляем массив А из 40 элементов.
Объявляем целочисленные переменные I, J,
В цикле от 1 до 40 вводим элементы массива А с 1-го по 40-й.

Решать другие задания по теме: Ал­го­рит­мы обработки массивов

Показать ответ
Комментарий:

Содержание верного ответа

На языке Паскаль

 for i := 1 to N - 1 do
    if ((a[i] + a[i+l]) mod 13 = 0) and (a[i] + a[i+l] > 0) then
        inc(k);

writeln(k);

На алгоритмическом языке

 k := 0
нц для i от 1 до N - 1
    если mod(a[i] + a[i+l],13) = 0 и a[i] + a[i+l] > 0
    то
        k := k + 1
    все
кц
вывод к

На языке Бейсик

K = 0;
FOR I = 1 ТО N - 1
    IF (А(I) + А(1+1)) MOD 13 = 0 AND А(1) + А(1+1) > 0 THEN
        К = К + 1
    END IF
NEXT I
PRINT К

На языке Си

k = 0;
for (i =0; i < N - 1; i++)
    if ((a[i] + a[i+l]) % 13 == 0 && a[i] + a[i+l] > 0)
        k++ ;
printf("%d", k);

На естественном языке

 Записываем в переменную К начальное значение, равное 0. В цикле от первого элемента до предпоследнего находим остаток от деления суммы текущего и следующего элементов массива на 13. Если значение данного остатка равно 0 и сумма текущего и следующего элементов массива больше 0, увеличиваем переменную К на единицу.
После завершения цикла выводим значение переменной К
Ответ:

Нашли ошибку в задании? Выделите фрагмент и нажмите Ctrl + Enter.