Array 40. Дано число R и массив A размера N. Найти элемент массива, который наиболее близок к числу R (то есть такой элемент \(A_K\), для которого величина \(|A_K - R|\) является минимальной).

Решение на Python 3

import random

N = random.randrange(2,21)
a = [random.randrange(1,100) for i in range(N)]
R = random.randrange(1,101)

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

d_min = abs(R - a[0])
i_min = 0
for i in range(1,N):
if abs(R - a[i]) < d_min :
d_min = abs(R - a[i])
i_min = i

print("Index:",i_min)
print("Element:",a[i_min])
print("Minimal distance:",d_min)