Задание № 7206

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от -10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число не делится на 7. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 13; 7; 26; -1; 9 — ответ: 2.

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

Бейсик

CONST N AS INTEGER = 30 
DIM A (1 TO N) AS INTEGER 
DIM I AS INTEGER,
	J AS INTEGER,
	К AS INTEGER

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

Python

# допускается также
# использовать две
# целочисленные переменные j и к 
а = [ ]
n = 30
for i in range(0, n): 
	a.append(int(input()))
...

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

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

Паскаль

const 
	N = 30; 
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 30 
int main() { 
	int a[N]; 
	int i, j, k; 
	for (i =0; i < N; i++) 
		scanf("%d", &a[i]);
	...
	return 0;
}

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

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

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


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

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

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

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

k := 0;
for i := 1 to N - 1 do
	if (a[i] mod 7<> 0) or (a[i+1] mod 7 <> 0) then
		inc(k);
writeln(k);

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

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

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

K = 0
FOR I = 1 TO N - 1
	IF (A(I) MOD 7 <> 0) OR (A(I + 1) MOD 7 <> 0) THEN
		K = K + 1
	END IF
NEXT I
PRINT K

На языке Си

k = 0
for (i = 0;	i < N - 1; i++)
	if (а [i] % 7 ! =	0 &#124;&#124; a[i + 1] % 7 != 0)
		k++;			
printf("%d", k);

На языке Python

k = 0
for i in range(0, n - 1):
	if (a[i] % 7 != 0 or a[i + 1] % 7 != 0;
		k += 1
print(k)

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

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

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