Array 81. Дан массив размера N и целое число K \((1 \leq K < N )\). Осуществить сдвиг элементов массива вправо на K позиций (при этом \(A_1\) перейдет в \(A_{K+1}\), \(A_2\) - в \(A_{K+2}\), ..., \(A_{N-K}\) - в \(A_N\), а исходное значение K последних элементов будет потеряно). Первые K элементов полученного массива положить равными 0.

Решение на Python 3

import random

N = random.randrange(2,21)
K = random.randrange(1,N)
print("N = ", N)
print("K = ", K)

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", [0]*K + a[:N-K])

for i in range(N-1,K-1,-1) :
a[i] = a[i-K]
for i in range(0,K) :
a[i] = 0

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