СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
Информатика
Cайты, меню, вход, новости


Задания
Версия для печати и копирования в MS Word
Задание 25 № 7709

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых сумма элементов делится на 3, но не делится на 9. В данной задаче под парой подразумеваются два соседних элемента массива.

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

 

 

БейсикPython

CONST N = 20

DIM A (1 TO N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

     INPUT A(I)

NEXT I

END

// допускается также использовать

// две целочисленные переменные

// j и k

a = []

n = 20

for i in range(0, n):

    a.append(int(input()))

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

const

N = 20;

var

a: array [1..N] of

integer;

i, j, k: integer;

begin

for i := 1 to N do

    readln(a[i]);

end.

алг

нач

цел N = 20

целтаб a[1:N]

цел i, j, k

нц для i от 1 до N

    ввод a[i]

кц

кон

Си++

#include <iostream>

#define N 20

using namespace std;

int main() {

int a[N];

int i, j, k;

for (i = 0; i < N; i++)

cin >> a[i];

return 0;

}

 

 

В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в приведённых фрагментах.

Решение.

Паскаль
k := 0;

for i := 1 to N-1 do

if ((a[i]+a[i+1]) mod 3=0) and ((a[i]+a[i+1]) mod 9<>0)

then inc(k);

writeln(k);

Алгоритмический язык
k := 0;

нц для i от 1 до N-1

если mod(a[i]+a[i+1],3)=0 и mod(a[i]+a[i+1],9)<> 0

то

k := k+1

все

кц

вывод k

Бейсик
K = 0

FOR I = 1 TO N-1

IF (A(I)+A(I+1)) MOD 3 = 0 AND (A(I)+A(I+1)) MOD 9 <>0 THEN

K = K+1

END IF

NEXT I

PRINT K

Python
k = 0

for i in range(0, n – 1):

    if ((a[i]+a[i+1])%3 == 0 and (a[i]+a[i+1])%9 != 0):

        k += 1

print(k)

Си++
k = 0;

for (i = 0; i < N-1; i++)

if ((a[i]+a[i+1]) %3 == 0 && (a[i]+a[i+1])%9 != 0)

k++;

cout « k « endl;