Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 27
1

Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному

13.06.2016, 11:36. Показов 3800. Ответов 3

Author24 — интернет-сервис помощи студентам
Здравствуйте,помогите пожалуйста написать код,спасибо.Реализуйте алгоритм приближенного бинарного поиска.

Входные данные
В первой строке входных данных содержатся числа N и K (0NK100001 ). Во второй строке задаются N чисел первого массива, отсортированного по неубыванию, а в третьей строке – K чисел второго массива. Каждое число в обоих массивах по модулю не превосходит 2109.

Выходные данные
Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному. Если таких несколько, выведите меньшее из них.

Примеры
входные данные
5 5
1 3 5 7 9
2 4 8 1 6
выходные данные
1
3
7
1
5
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2016, 11:36
Ответы с готовыми решениями:

Для каждого из K чисел вывести в отдельную строку "YES", если число встречается в первом массиве
Здравствуйте,помогите пожалуйста написать код,спасибо.Реализуйте алгоритм бинарного поиска.Входные...

Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному
Формат входных данных В первой строке входных данных содержатся числа N и K (0<N,K<100001 ). Во...

Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному
Задание: Пример: Входные данные: 5 4 1 4 5 8 10 5 6 1 9 Выходные данные:

Найти число наиболее близкое к заданному для массива 8-разрядных чисел со знаком
Помогите, найти ошибку) format PE console ; 32-разрядная консольная...

3
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
13.06.2016, 12:15 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот для подсказки пример приближенного бинарного поиска.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const n=5;
      k=4;
      a:array[1..n] of integer=(1,4,5,8,10);
      b:array[1..k] of integer=(5,6,1,9);
var i,j,l,r,m:integer;
begin
for i:=1 to n do
write(a[i]:3);
writeln;
for i:=1 to k do
write(b[i]:3);
writeln;
for i:=1 to k do
 begin
  l:=1;
  r:=n;
  for j:=1 to n do
   begin
    m:=(l+r) div 2;
    if a[m]>b[i] then r:=m else l:=m;
   end;
    if l<>r then
     begin
      if abs(a[r]-b[i])<abs(a[l]-b[i]) then writeln(a[r])
      else writeln(a[l]);
     end
    else writeln(a[l])
 end;
end.
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,077
Записей в блоге: 1
13.06.2016, 12:49 3
Если что,
Pascal
17
  for j:=1 to n do
убивает напрочь преимущества бинарного поиска, состоящие в сокращении количества просмотров.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
13.06.2016, 12:55 4
Да, извиняюсь, взял не глядя какой-то свой древний код.
0
13.06.2016, 12:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2016, 12:55
Помогаю со студенческими работами здесь

Найти наиболее близкое число
Вот такое задание: Есть файлик с числами, пользователь вводит b и x, высчитывается функция, потом...

Найти беззнаковое число наиболее близкое к заданному
Напишите пожалуйста программу на Ассемблере. Вот задание: Найти беззнаковое число наиболее близкое...

Найти число, наиболее близкое какому-нибудь целому числу
используя цикол написать программу обеспечивающую ввод N вещественных чисел и выводящую на экран то...

Дано вещественное число R и массив Размера N. Найти элемент массива, который наиболее (наименее) близок к данному числу.
Дано вещественное число R и массив Размера N. Найти элемент массива, который наиболие (наимение)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru