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
1) a x a = a² ⇒ b; b x a = a³ ⇒ результат
2) a x a = a² ⇒ b; b x b = a⁴ ⇒ c; c x c = a⁸ ⇒ c; c x b = a¹⁰ ⇒ результат
Программа на языке PascalABC.Net
var
a,b,c,y:real;
begin
Write('Введите число: '); Read(a);
b:=a*a; y:=b*a; Writeln('Третья степень числа равна ',y);
c:=b*b; c:=c*c; y:=b*c;
Writeln('Десятая степень числа равна ',y)
end.
Тестовые решения:
Введите число: 2
Третья степень числа равна 8
Десятая степень числа равна 1024
Введите число: -13.594
Третья степень числа равна -2512.128188584
Десятая степень числа равна 215512594781.574
1) полная таблица истинности каждого выражения с пятью переменными содержит 2^5 = 32 строки;
2) в каждой таблице содержится по 4 единицы и по 28 нулей, ( то есть 32-4);
3) выражение a v - b равно нулю тогда, когда a = 0 или b = 1;
4) min количество единиц в таблице истинности выражения a v - b будет тогда, когда там будет наибольшее число нулей, то есть в max количество строк одновременно a = 0 и b = 1;
5) по условию a = 0 в 28 строках, и b = 1 в 4 строках, поэтому выражение a v - b может быть равно нулю не более чем в 4 строках, а оставшиеся 32 – 4 = 28 могут быть равны 1.
ответ: 28.