Как вывести количество пар элементов массива

Как вывести количество пар элементов массива

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива.
Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 4.
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

CONST N AS INTEGER = 20
DIM A (1 TO N) AS INTEGER
DIM I AS INTEGER,
J AS INTEGER,
K AS INTEGER

FOR I = 1 TO N
INPUT A(I)
NEXT I

Бейсик Python
# допускается также
# использовать две
# целочисленные переменные j и k
a = []
n = 20
for i in range(0, n):
a.append(int(input()))
Алгоритмический язык Паскаль
алг
нач
цел N = 20
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц

кон

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.

Си
#include
#define N 20
int main() <
int a[N];
int i, j, k;
for (i = 0; i

Сколько символов «звёздочка» будет напечатано на экране после выполнения вызова F(11)?

Источник: демоверсия ФИПИ по информатике и ИКТ 2016-го года.

Решение:

Нужно найти количество пар элемента массива, в которых хотя бы один элемент делится на 3. Пара — это два рядом стоящих элемента. Допустим, в массиве:

1 2 3 4 5
7 12 5 6 8

парами будут элементы (7 12), (12 5), (5 6), (6 8), и количество пар, в которых хотя бы один элемент кратен трём — 4.

Для проверки пар элементов будем использовать цикл. Каждый повтор цикла будет проверяться элемент с индексом i, и следующий после него, то есть с индексом i+1.

Обратите внимание, что счетчик цикла в последнем повторе не должен быть равен индексу последнего элемента. То есть, если для приведённого выше массива в последнем повторе цикла i=5, то будут проверяться элементы 5 и 5+1, то есть 5 и 6. Элемента с индексом 6 не существует, и допускать выход за границу массива нельзя. Последняя пара элементов содержит элементы с индексами 4 и 5, значит цикл должен проверять элементы не от 1 до n, а от 1 до n-1.

В случае, если в паре есть хотя бы один элемент, кратный трём, к переменной будет прибавляться единица. У нас есть три переменные — i, j, k, переменная i используется как счетчик цикла, для определения количества возьмем переменную k. Переменная j лишняя, её можно не использовать, что разрешено по условию.

Задачу можно решить двумя способами.

1 способ. Просто проверим каждую пару, и если хотя-бы один элемент в ней кратен 3, то переменную k будем увеличивать на 1.

k:=0; //обнулим переменную k

for i:=1 to n-1 do //начало цикла с i от 1 до n-1

if (a[i] mod 3 = 0) or (a[i+1] mod 3 = 0) then //если a[i] или a[i+1] кратно 3

inc(k); //то k увеличиваем на 1

writeln(k); //выводим k

2 способ. Более элегантный. Произведение двух чисел будет кратно 3 только в том случае, если хотя бы одно из этих чисел будет кратно 3. Таким образом, если мы перемножим элементы пары, и произведение будет кратно 3, значит в паре есть элементы кратные 3:

k:=0; //обнулим переменную k

for i:=1 to n-1 do //начало цикла c i от 1 до n-1

if a[i] * a[i+1] mod 3 = 0 then //если произведение a[i] и a[i+1] кратно 3

inc(k); //то увеличиваем переменную k на 1

writeln(k); //выводим k

Видеоразбор задания:

Дело не в том, есть ли в числе цифра. Тут же не просят, чтобы цифра в числе делилась на 3. Есть массив, допустим, состоящий из десяти элементов. Он содержит числа, допустим:
5 12 8 4 3 16 22 7 9 11
Пары, в которых хотя-бы одно число делится на 3 — 5-12, 12-8, 4-3, 3-16, 7-9, 9-11
Пара — это два рядом стоящих числа.

Источник

Количество пар в массиве

Есть массив n[6]= 1, -1, 1, 1, -1, 1
Надо подсчитать кол-во пар вида (1,-1) либо (-1,1) и «расстояние» между парами:
(-1,1) и (-1,1) либо (1,-1) и (1,-1) т.е расстояние надо находить ТОЛЬКО между одинаковыми парами

если пару образует (n[0] n[1]) и (n[3] n[4]) то «расстояние» = 1,
если (n[1] n[2]) и (n[4] n[5]) то =1

В данном случае меня в 1-ю очередь интересует вопрос как разбить на пары и найти между ними «расстояние»
Заранее спасибо

Добавлено через 5 часов 16 минут
Или так:
n[10]= 1, 1, 1, 1, -1, -1, 1, 1, -1, 1
1-м числом пары будет n[0] тогда 2-м будет n[4]:
(n[0],n[4])-> (1,-1) «Расстояние» между n[0]-n[4] = 3
И найдем такую же 2-ю пару, т.е. (1,-1) после элемента 2-го элемента пары: (n[6],n[8])»расстояние»= 1

дальше (n[1],n[4]) «расстояние»=2 и (n[6],n[8]) «расстояние»=1
.
(n[4],n[6]) «расстояние»=1 и (n[8],n[9]) «расстояние» =0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

В массиве найти количество пар (i, j) таких, что i a[j]
Напишите программу, которая для заданного массива A = находит количество пар.

В одномерном массиве найти количество пар, таких, что x[i]>x[i+1]
Здравствуйте, плохо понимаю как выполнить такую задачу((( нужно вычислить: 1) количество пар x и.

Найти в массиве количество симметричных пар, у которых сумма элементов больше 20
Дан массив, содержащий 2014 положительных целых чисел. Симметричной парой называются два элемента.

В массиве найти количество пар соседних элементов в которых предыдущий элемент кратен следующему
помогите решить задачу заранее спасибо. Найти количество пар соседних элементов, в которых.

Источник

Как вывести количество пар элементов массива

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

на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 13. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 6; 2; 13; –26; 14 — ответ: 3.

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

не использовать некоторые из описанных переменных.

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

# целочисленные переменные j и k

for i in range(0, n):

a: array [1..N] of integer;

for i := 1 to N do

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

Бейсик Python
Си Естественный язык
Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.

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

for i := 1 to N-1 do

if (a[i] mod 13=0) or (a[i+1] mod 13=0) then

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

если mod(a[i],13)=0 или mod(a[i+1],13)=0

IF (A(I) MOD 13 = 0) OR (A(I + 1) MOD 13 = 0) THEN

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

if (a[i] % 13 == 0 or a[i + 1] % 13 == 0):

for (i = 0; i 0 без скобок);

4) на чётность проверяется не сумма значений элементов, а сумма их индексов;

5) неверно осуществляется проверка суммы пары элементов на положительность;

6) в сложном логическом условии простые проверки верны, но условие в целом построено неверно (например, перепутаны операции «И» и «ИЛИ», неверно расставлены скобки в логическом выражении);

7) отсутствует вывод ответа;

8) используется переменная, не объявленная в разделе описания переменных;

9) не указано или неверно указано условие завершения цикла;

10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно;

11) неверно расставлены операторные скобки.

Источник

Как вывести количество пар элементов массива

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

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

DIM A (1 TO N) AS INTEGER

DIM I, J, K AS INTEGER

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

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

for i in range(0, n):

for i := 1 to N do

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

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

Бейсик Python
Паскаль
k := 0;

for i := 1 to N-1 do

if ((a[i]+a[i+1]) mod 2=0) and ((a[i]+a[i+1]) mod 4<>0)

writeln(k);

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

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

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

вывод k

Бейсик
K = 0

IF (A(I)+A(I+1)) MOD 2 = 0 AND (A(I)+A(I+1)) MOD 4 <>0 THEN

PRINT K

Python
k = 0

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

if ((a[i]+a[i+1])%2 == 0 and (a[i]+a[i+1])%4 != 0):

print(k)

Си
k = 0;

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

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

DIM A (1 TO N) AS INTEGER

DIM I, J, K AS INTEGER

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

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

for i in range(0, n):

for i := 1 to N do

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

using namespace std;

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

Бейсик Python
Паскаль
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)

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 = 0

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

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):

print(k)

Си++
k = 0;

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от –100 до 100 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, произведение которых положительно, а сумма кратна 7. Под парой подразумевается два подряд идущих элемента массива. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

DIM I, J, K AS LONG

a: array [1..N] of longint;

for i := 1 to N do

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

Объявляем массив A из 40 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 40 вводим элементы массива A с 1-го по 40-й.

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

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

for i in range(0, n):

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

Бейсик Паскаль
Естественный язык
Паскаль
k := 0;

for i := 1 to N — 1 do

if ((a[i] + a[i + 1] ) mod 7 = 0) and (a[i] * a[i + 1] >

writeln(k);

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

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

если mod(a[i] + a[i + 1], 7) = 0 и a[i] * a[i + 1] > 0

вывод k

Бейсик
K = 0

IF (A(I) + A(I + 1)) MOD 7 = 0 AND A(I) * A(I + 1) > 0

PRINT K

Python
k = 0

for i in range(N — 1):

if (a[i] + a[i + 1]) % 7 == 0 and a[i] * a[i + 1] > 0:

print(k)

Си
k = 0;

Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 100 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, сумма которых не кратна 6, а произведение меньше 1000. Под парой подразумевается два подряд идущих элемента массива. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

DIM I, J, K AS LONG

a: array [1..N] of longint;

for i := 1 to N do

using namespace std;

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

Объявляем массив A из 40 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 40 вводим элементы массива A с 1-го по 40-й.

# целочисленные переменные j, k

for i in range(0, n):

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

Бейсик Паскаль
Естественный язык
Паскаль
k := 0;

for i := 1 to N — 1 do

if ((a[i] + a[i + 1]) mod 6 <> 0) and (a[i] * a[i + 1] 0 и a[i] * a[i + 1] 0 AND A(I) * A(I + 1) Решение Спрятать решение ·

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

позволяющий найти и вывести количество пар элементов массива, в которых оба числа делятся на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива.

Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 2.

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

Источник

Читайте также:  Чем отмыть шампанское с натяжного потолка
Оцените статью