![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%...%B5%D0%BD%D0%B0
я вот сделал, только не очень мне нравится :( может кто-то сможет более проще и элегантней написать это?
Это сообщение отредактировал(а) ressac - 2.11.2009, 11:59 |
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: 3 Всего: 5 |
ressac, Ваша функция mult слегка непонятна.
почему Вы не остановились на тупом переводе приведенного в вики псевдокода на си? |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
я просто сделал поиск методом деления.
вы думаете лучше сделать так как в вики? попробую ща... |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
так подойдет? хотя это не самое оптимальное решение. Это сообщение отредактировал(а) azesmcar - 2.11.2009, 13:51 |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
там мне в рекурсивном виде надо ;)
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
вот я переделал mult
|
|||
|
||||
| 17dufa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: 3 Всего: 5 |
ressac, усе, до меня дошло. На Вашем месте, я бы переделал mult вот в такое:
и вызывал бы соответственно так:
|
||||
|
|||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
ты опробывал у себя это? у меня виснит
|
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: 3 Всего: 5 |
ressac, нет конечно
то есть в функции mult надо v[pos-1] = 0; а не v[pos] = 0. С именами бы тоже чего-нить сделать не мешало. а откуда такая любовь к рекурсии? на функциональный язык планируете перейти? Это сообщение отредактировал(а) 17dufa - 3.11.2009, 11:18 |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
да нет просто это задачи из универа
а вообще рекурсия нравится сама по себе |
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: 3 Всего: 5 |
ressac, главное не увлекайтесь. в C++ хвостовую рекурсию в цикл компилятор преобразовывать, насколько я знаю, не будет. в данной задаче, например, решение с циклами должно быть эффективнее и думаю многим, в частности мне, будет понятнее.
и имена все-таки поменяйте |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
Это сообщение отредактировал(а) Lazin - 5.11.2009, 11:09 |
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: 3 Всего: 5 |
Lazin, класс. а что за язык? и один косяк - автора интересует рекурсия. циклы ему не по душе
*а что делает |> ignore ? и внутренний цикл можно начинать не с i, а с i*i |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
F# согласен, но это и не цикл в традиционном понимании, это ленивая последовательность оператор |> берет то, что справа и передает в ф-ю слева, в данном случае эта ф-я применяется для того, что-бы компилятор не ругался на игнорируемое возвращаемое значение нет, нельзя допустим i = 3, тогда в хэш таблицу попадут числа начиная с 9, а нужно, что-бы попали - 3, 6, 9, 12 итд угу, можно Это сообщение отредактировал(а) Lazin - 5.11.2009, 13:12 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |