
Дан целочисленный массив N. Продублировать в нем все четные числа и утроить вхождения всех нечетных
чисел.( На языке Питон, вспомогательные массивы не использовать)

Ответы на вопрос

Ответ:
mass = [6, 1, 10, 3, 2, 8, 7, 4]
for i in range(len(mass) - 1, -1, -1):
if mass[i] % 2 == 0:
mass.insert(i + 1, mass[i])
else:
for j in range(2):
mass.insert(i + 1, mass[i])
print(mass)
Объяснение: перебираем массив с конца, если число четное - дублируем его в массиве, если нечетное - добавляем 2 раза с помощью цикла от 0 до 2, т.е. утраиваем



Вы можете выполнить это в одном проходе по массиву, модифицируя элементы на месте. Вот пример на языке Python:
pythondef modify_array(arr):
n = len(arr)
for i in range(n):
# Если число четное, продублируем его
if arr[i] % 2 == 0:
arr.insert(i + 1, arr[i])
n += 1
i += 1 # Пропускаем следующий элемент, чтобы избежать бесконечного цикла
# Если число нечетное, утроим его
else:
arr[i] *= 3
return arr
# Пример использования
my_array = [1, 2, 3, 4, 5]
result_array = modify_array(my_array)
print(result_array)
Обратите внимание, что в этом примере мы используем insert
для добавления дублированного четного числа. При этом, чтобы избежать бесконечного цикла, индекс i
увеличивается на 1. Также обратите внимание, что изменение размера массива в цикле может вызвать неэффективность для больших массивов.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili