Контрольные тренировочные задания
(решения)
Часть 2
Задание 25
Решение примера 2
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 2. В данной задаче под парой подразумевается два подряд идущих элемента массива.
Например, для массива из пяти элементов: 16 3 142 55 22 – ответ: 3.
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Решение.
На языке Паскаль
k := 0;
for i := 1 to N — 1 do
if (a[i] mod 10 = 2) or (a[i + 1] mod 10 = 2) then
inc(k);
writeln(k);
(вместо строчки inc(k) можно использовать k:=k+1)
На алгоритмическом языке
k := 0;
нц для i от 1 до N-1
если mod(a[i],10)=2 или mod(a[i+1],10)=2
то
k := k+1
все
кц
вывод k
На языке Бейсик
K = 0
FOR I = 1 TO N — 1
IF (A(I) MOD 10 = 2) OR (A(I + 1) MOD 10 = 2) THEN
K = K + 1
END IF
NEXT I
PRINT K
На языке Си
k = 0;
for (i = 0; i < N - 1; i++)
if (a[i] % 10 == 2 || a[i + 1] % 10 == 2)
k++;
printf(«%d», k);
На языке Python
k = 0
for i in range(0, n – 1):
if (a[i] % 10 == 2 or a[i + 1] % 10 == 2):
k += 1
print(k)
На естественном языке
Записываем в переменную K начальное значение, равное 0. В цикле от первого элемента до предпоследнего находим остаток от деления текущего и следующего элементов массива на 10. Если первый или второй из полученных остатков равен 2, увеличиваем переменную K на единицу. После завершения цикла выводим значение переменной K.
Возврат на страницу Решение примеров части 2 задание 25