![]() |
|
|
![]()
|
|
| blur |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 9.11.2004 Репутация: нет Всего: 1 |
Люди, помогите немного с рекурсией.
Есть вот такая задачка: Вводятся n чисел, определить наибольшую разницу между двумя соседними элементами, вывести также номера элементов, между которыми она найдена. Ввод элементов и их печать я сделал,
а как затем в цикле определить максимальную разницу между ними, что-то не получается. |
|||
|
||||
| Artemios |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 6 Всего: 50 |
Так как сравниваются лишь соседние элементы, а также требуется лишь вывод разницы и номеров элементов, то нет необходимости держать в памяти всё вводимое. Я сделал так (на SWI-Prolog):
(признаком окончания ввода чисел будем считать ввод любого нечислового атома) Проверка:
Это сообщение отредактировал(а) Artemios - 13.4.2007, 17:15 -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
||||||
|
|||||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |