Array 49. Дан целочисленный массив размера N. Если он является перестановкой, то есть содержит все числа от 1 до N, то вывести 0; в противном случае вывести номер первого недопустимого элемента.

Решение на Python 3

import random

N = random.randrange(2,21)
#a = [i+1 for i in range(N)]
a = [random.randrange(1,N+1) for i in range(N)]
random.shuffle(a)

print("N:",N)
print("Array:",a)

L = sorted(a)
for i in range(1,N+1) :
if i != L[i-1] :
break

if i == N :
print("perestanovka")
else :
for i in range(1,N+1) :
if i != a[i-1] :
print("first wrong:",a[i-1])
break