B3. Ближайшее число Ограничение времени 1 секунда

Ограничение памяти 64Mb

Ввод стандартный ввод или input.txt

Вывод стандартный вывод или output.txt

Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу.

Формат ввода

В первой строке задается одно натуральное число N, не превосходящее 1000 – размер массива.

Во второй строке содержатся N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).

В третьей строке вводится одно целое число x, не превосходящее по модулю 1000.

Формат вывода

Вывести значение элемента массива, ближайшее к x. Если таких чисел несколько, выведите любое из них.

Пример 1

Ввод Вывод

5

1 2 3 4 5

6

5

Пример 2

Ввод Вывод

5

5 4 3 2 1

3
https://pastenow.ru/df6a79f916666de8669a4ff5dc71f3ee

missanna00 missanna00    1   21.07.2021 14:35    15

Ответы
Ева671 Ева671  23.12.2023 23:52
Хорошо, давайте разберемся с данной задачей по шагам.

1. Прочитайте входные данные:
- считайте число N - размер массива;
- считайте элементы массива из второй строки;
- считайте число x.

2. Создайте переменную min_diff и установите ее равной "бесконечности" (например, очень большому числу). Она будет хранить минимальную разницу между элементами массива и числом x.

3. Создайте переменную closest_num и установите ее равной первому элементу массива. Она будет хранить элемент, ближайший к числу x.

4. Проходите по каждому элементу массива и выполняйте следующие действия:
- вычислите разницу между текущим элементом и числом x;
- если полученная разница меньше значения min_diff, то обновите min_diff значением разницы и closest_num значением текущего элемента.

5. Выведите closest_num - элемент, ближайший к числу x.

Вот код на языке Python, решающий данную задачу:

```python
# Чтение входных данных
N = int(input())
arr = list(map(int, input().split()))
x = int(input())

# Инициализация переменных
min_diff = float('inf')
closest_num = arr[0]

# Поиск ближайшего числа
for num in arr:
diff = abs(num - x)
if diff < min_diff:
min_diff = diff
closest_num = num

# Вывод результата
print(closest_num)
```

Я надеюсь, что этот ответ понятен и поможет вам решить данную задачу. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать их!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика