В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
diasjabarrrrrrrr
diasjabarrrrrrrr
16.08.2021 17:57 •  Информатика

Какую команду вы должны использовать, чтобы задать заголовок окна игры?​

Показать ответ
Ответ:
tarasgorodchukowd1fp
tarasgorodchukowd1fp
15.10.2022 11:38

Просто прогоняем бинарный поиск дважды, сначала ищем ближайшее число, не большее нужного, потом не меньшее. Для того, чтобы такие числа были, можно дописать в массив очень большое число и очень маленькое. Затем выбираем из этих двух найденных чисел то, что будет ближе.

Пример реализации:

def bin_search(arr, target, kind="<="):

   assert kind in ["<=", ">="]

   if kind == "<=":

       comp = lambda a, b: a <= b

   else:

       comp = lambda a, b: a < b

   l = 0

   r = len(a) - 1

   while l < r - 1:

       m = (l + r) // 2

       if comp(a[m], target):

           l = m

       else:

           r = m

   if kind == "<=":

       return arr[l]

   else:

       return arr[r]

def nearest(arr, target):

   nearest_le = bin_search(arr, target, "<=")

   nearest_ge = bin_search(arr, target, ">=")

   if nearest_ge - target < target - nearest_le:

       return nearest_ge

   else:

       return nearest_le

_ = input()

a = [int(x) for x in input().split()]

a = [float("-Infinity")] + a + [float("+Infinity")]

for target in map(int, input().split()):

   print(nearest(a, target))

0,0(0 оценок)
Ответ:
ninaemelyanova2
ninaemelyanova2
21.08.2020 18:44
Задача 1
var
x,y:integer;
begin
  writeln('Введите х');
  readln(x);
  writeln('Введите y');
  readln(y);
  if x<y then writeln('Меньшее: ',x) else
  if x>y then writeln('Меньшее: ',y) else
  if x=y then writeln('Числа равны')
end.

задача 2
var
x,y:integer;
begin
  writeln('Введите первое число');
  readln(x);
  writeln('Введите второе число');
  readln(y);
  if y=0 then writeln('Второе число равно 0. Деление невозможно!') else
  writeln(x,'/',y,'=',x/y);
end.

задача 3
var
s,name:string;
begin
  writeln('Введите ваше имя');
  readln(name);
  writeln('Введите строку');
  readln(s);
  if s=name then writeln('Привет!') else
  writeln('Здравствуйте!');
end.

задача 4
var
x:integer;
begin
  writeln('Введите число');
  readln(x);
  if (x mod 2)=0 then writeln('Четное') else writeln('Нечетное')
end.

задача 5
var
x:string;
i:integer;
begin
  writeln('Введите строку');
  readln(x);
  writeln('Введите номер символа');
  readln(i);
  if i > length(x) then writeln('Нет символа!') else writeln(x[i])
end.

задача 6
var
x,y:integer;
begin
  writeln('Количество яблок:');
  readln(x);
  writeln('Количество апельсинов:');
  readln(y);
  if (x*100)>(y*150) then writeln('Берите яблоки')
  else
  if (x*100)<(y*150) then writeln('Берите апельсины')
  else
  if (x*100)=(y*150) then writeln('Вес яблок и апельсинов одинаковый')
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота