Array 86. Дан массив A размера N и целое число K \((1 \leq K \leq 4, K < N)\). Осуществить циклический сдвиг элементов массива влево на K позиций (при этом \(A_N\) перейдет в \(A_{N-K}\), \(A_{N-1}\) - в \(A_{N-K-1}\), ..., \(A_1\) - в \(A_{N-K+1}\)).
Допускается использовать вспомогательный массив из 4 элементов.

Решение на Python 3

import random

K = random.randrange(1,5)
N = random.randrange(K+1,21)
##K = 2
##N = 18
print("K = ", K)
print("N = ", N)

a = [i+1 for i in range(N)]

##for i in range(0,N):
## a[i] = i

print("Array:\n",a)

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

b = []
for i in range(0,K) :
b.append(a[i])
for i in range(0,N-K) :
a[i] = a[i+K]
j = 0
for i in range(N-K,N) :
a[i] = b[j]
j += 1
#a[0] = x

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