Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу 4. Написать программу, которая возвращает список
Ответ
 
Опции темы Опции просмотра
  (#16 (permalink)) Старый
SergeMukhin78 SergeMukhin78 вне форума
Member
 
Сообщений: 571
Сказал(а) спасибо: 17
Поблагодарили 35 раз(а) в 35 сообщениях
Регистрация: 28.03.2012
По умолчанию 19.12.2017, 23:22

Цитата:
Сообщение от aag Посмотреть сообщение
[5,5,3,3,3] чего выдаст?
5,5,3

функцию maxP добавим параметр, сколько таких пропускать. Можно так же вернуть списко уже выданных чисел. Решений несколько. Ничего удалять не надо. Удаление в списке это полная перезапись.
Ответить с цитированием
  (#17 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 19.12.2017, 23:46

Цитата:
Сообщение от SergeMukhin78 Посмотреть сообщение
5,5,3

функцию maxP добавим параметр, сколько таких пропускать. Можно так же вернуть списко уже выданных чисел.
Очень обяжете. С нетерпением жду эту самую maxP. Заранее благодарен)))
Ответить с цитированием
  (#18 (permalink)) Старый
SergeMukhin78 SergeMukhin78 вне форума
Member
 
Сообщений: 571
Сказал(а) спасибо: 17
Поблагодарили 35 раз(а) в 35 сообщениях
Регистрация: 28.03.2012
По умолчанию 20.12.2017, 00:45

сами можете
Ответить с цитированием
  (#19 (permalink)) Старый
SergeMukhin78 SergeMukhin78 вне форума
Member
 
Сообщений: 571
Сказал(а) спасибо: 17
Поблагодарили 35 раз(а) в 35 сообщениях
Регистрация: 28.03.2012
По умолчанию 20.12.2017, 08:43

что бы было проще, достаточно выдавать максимум и сколько таких в списке. т.е. что бы учитывать повторы надо как-то так
Visual Prolog Код:
A = maxP(List, upperBound(integer), NA),
if NA >= 3 then Result = [A,A,A]
else
...
Ответить с цитированием
  (#20 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,970
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 20.12.2017, 11:16

Цитата:
Сообщение от SergeMukhin78 Посмотреть сообщение
O(N) == O(3*N)
Это понятно, но я нигде и не писал функцию "О большое", я привёл верхнюю границу числа операций сравнения.

Цитата:
Сообщение от SergeMukhin78 Посмотреть сообщение
Один медленный проход может быть существенно лучше, чем три быстрых прохода, например если весь список не вмещается в оперативную память или в кеш какого-то уровня.
А вот с этим доводом согласен. Дьявол кроется в мелочах реализации когда математически всё вроде и одинаково.
Ответить с цитированием
Ads.
  (#21 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 23.12.2017, 08:31

Цитата:
Сообщение от SergeMukhin78 Посмотреть сообщение
что бы было проще, достаточно выдавать максимум и сколько таких в списке. т.е. что бы учитывать повторы надо как-то так
Visual Prolog Код:
A = maxP(List, upperBound(integer), NA),
if NA >= 3 then Result = [A,A,A]
else
...
Очень интересно.
А рабочий код будет?!
Ответить с цитированием
  (#22 (permalink)) Старый
SergeMukhin78 SergeMukhin78 вне форума
Member
 
Сообщений: 571
Сказал(а) спасибо: 17
Поблагодарили 35 раз(а) в 35 сообщениях
Регистрация: 28.03.2012
По умолчанию 23.12.2017, 17:21

Цитата:
Сообщение от aag Посмотреть сообщение
А рабочий код будет?!
нет, а что сложно самому?
Ответить с цитированием
  (#23 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 23.12.2017, 22:39

Дык не моё, а Ваше
Цитата:
Сообщение от SergeMukhin78 Посмотреть сообщение
...мой алгоритм самый быстрый, всего за три прохода...
как-то голословно повисло...
Ответить с цитированием
  (#24 (permalink)) Старый
SergeMukhin78 SergeMukhin78 вне форума
Member
 
Сообщений: 571
Сказал(а) спасибо: 17
Поблагодарили 35 раз(а) в 35 сообщениях
Регистрация: 28.03.2012
По умолчанию 24.12.2017, 10:54

Цитата:
Сообщение от aag Посмотреть сообщение
как-то голословно повисло...
как-то это более чем очевидно.
Ответить с цитированием
Ads
  (#25 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 24.12.2017, 13:11

Цитата:
Сообщение от SergeMukhin78 Посмотреть сообщение
как-то это более чем очевидно.
Как-то это более чем голословно)))
Ответить с цитированием
  (#26 (permalink)) Старый
SergeMukhin78 SergeMukhin78 вне форума
Member
 
Сообщений: 571
Сказал(а) спасибо: 17
Поблагодарили 35 раз(а) в 35 сообщениях
Регистрация: 28.03.2012
По умолчанию 25.12.2017, 07:43

Я не могу помочь, если вы не понимаете разницу между алгоритмом и программой,
я не могу вам помочь, если вы не знаете что такое сложность алгоритма и О большое.

Алгоритм я привёл. Программы уровня сложности 6+ пишите сами.

Хотя бы попробуйте.

Последний раз редактировалось SergeMukhin78; 25.12.2017 в 07:43 Причина: опечатка
Ответить с цитированием
  (#27 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 25.12.2017, 13:39

Цитата:
Сообщение от SergeMukhin78 Посмотреть сообщение
Алгоритм я привёл. ....
Хотя бы попробуйте.
А - ясно. Бла-бла-бла Ваше, а мне пробовать - прикольно)))
Фигню Вы придумали, короче. И получится из этой фигни кривая косая коряга, хоть бы и с правильными О)))
Ответить с цитированием
  (#28 (permalink)) Старый
SergeMukhin78 SergeMukhin78 вне форума
Member
 
Сообщений: 571
Сказал(а) спасибо: 17
Поблагодарили 35 раз(а) в 35 сообщениях
Регистрация: 28.03.2012
По умолчанию 25.12.2017, 13:46

ну пробуй, в чём проблем то? Я пока вижу от вас какие-то требования и оскорбления.

алгоритм то элементарный.

вот результат работы:
тестирование скорости о 10 до 100000
первый график время выполнения, второй - время на единцу. Видно O(N) моего алгоритма. и О(N ln) с сортировкой.
Миниатюры
capture.jpg  
Ответить с цитированием
  (#29 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 25.12.2017, 13:56

Да мне то зачем?!)))
Для меня однозначно: в общем виде M максимальных(минимальных) из списка длиной N (M<=N) - соотвествующиая сортировка и М первых.

Думал, вот чего нового увижу. Увидел. Картинки. Весьма обогощающе)))
Короче, есть самый быстрый алгоритм, но Мухин унесёт его с собой в могилу!!!)))

P.S. Оскорблять и в мыслях не было.
Ответить с цитированием
  (#30 (permalink)) Старый
SergeMukhin78 SergeMukhin78 вне форума
Member
 
Сообщений: 571
Сказал(а) спасибо: 17
Поблагодарили 35 раз(а) в 35 сообщениях
Регистрация: 28.03.2012
По умолчанию 25.12.2017, 14:50

Цитата:
Сообщение от aag Посмотреть сообщение
Да мне то зачем?!)))
так какого спрашивал пятьдесят раз!!!! балоболка пустая
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан список. Написать функцию, которая возвращает количество уровней сложного списка н Елизавета Яросевич Задания за деньги 0 03.11.2013 20:42
Написать функцию,которая по двум числам формирует список Marishe Lisp 1 13.10.2010 11:37
Написать программу которая разделит исходный список denis120 Lisp 3 22.05.2010 00:19
Определить рекурсию, которая возвращает список hattation Lisp 3 10.02.2010 20:21
Написать функцию, которая по списку lst и атому obj возвращает множество klava Lisp 1 22.12.2009 14:05
Нужно написать рекурсивную функцию, которая возвращает t Bender266 Lisp 6 06.05.2009 14:40
Написать функцию, которая возвращает истину Bender266 Lisp 0 06.05.2009 13:47
Написать функцию ,которая добавляет в список по одному элементу Mozgolom Lisp 2 14.05.2008 03:22
Написать функцию, которая возвращает количество вершин Adebayor Lisp 11 16.12.2007 22:58
Написать функцию LAST1, которая возвращает предпоследний элемент списка Sw1ft Lisp 9 17.05.2007 20:25
Написать функцию, которая оращает многоуровневый список super_girl Lisp 2 13.04.2007 07:25
Написать программу которая закрывает любую программу из автозагрузки без перезагрузк Anonymous C++ Builder 1 07.10.2003 11:24



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов