Array 105. Дан массив размера N и два целых числа K и M (\((1 \leq K \leq N, 1 \leq M \leq 10)\). После элемента массива с номером K вставить M новых элементов с нулевыми значениями.

Решение на Python 3

import random

N = random.randrange(2,21)
K = random.randrange(0,N)
M = random.randrange(1,11)
a = [i+1 for i in range(N)]

print("N = ", N)
print("K = ", K+1)
print("M = ", M)
print("Array:\n",a)

print("Modified Array 1:\n",a[:K+1] + [0]*M + a[K+1:])

a.extend([0]*M)
##print("Modified Array 2:\n",a)
N = len(a)
for i in range(N-1,K+1,-1) :
a[i] = a[i-M]
for i in range(0,M) :
a[K+1+i] = 0

print("Modified Array 2:\n",a)
print("Length:\n",len(a))