Array 73. Дан массив A размера N и целые числа K и L \((1 \leq K < L \leq N)\). Переставить в обратном порядке элементы массива, расположенные между элементами \(A_K\) и \(A_L\), не включая эти элементы.

Решение на Python 3

import random

N = random.randrange(2,19)
L = random.randrange(2,N+1)
K = random.randrange(1,L)
##
##N=12
##L=9
##K=2

#a = random.sample(range(10, 100), N)
a = [i+1 for i in range(N)]

print("N:",N)
print("L:",L)
print("K:",K)
print("Array a:\n",a)

M = (L-K+1)//2
print("M:",M)
i = 1
while i < M :
#print(i,K-1+i,L-1-i)
a[K-1+i], a[L-1-i] = a[L-1-i], a[K-1+i]
i += 1

print("Modified Array a:\n",a)