![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Добавлено через 13 минут и 41 секунду ![]() |
||||
|
|||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
Не понял тонкого намёка. ![]() Да, алгоритм хороший, но абсолютно не эффективный. Ведь в заданном числе уже первая и последняя цифра могут не совпасть. Зачем же всё это число 'разбирать на запчасти' ? ![]() Но по репе заработал всё-равно... ![]() Я бы изменил как-то так:
Это сообщение отредактировал(а) Dov - 28.12.2010, 20:03 -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
в числе 10 цифр(если конечно я правильно подсчитал ), а не 9 ![]() Добавлено через 56 секунд другими словами (int)log10 показывает неправильный результат.. |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
всё правильно показывает, так надо. ![]() -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
Ну, положим, из всех вышеприведенных он самый эффективный. Во-вторых, "могут не совпасть" и "не совпадут" вещи неодинаковые. Надо анализировать средний случай. Для этого надо знать, какова вероятность появления палиндрома среди множества проверяемых чисел. А то можно и алгоритм линейного поиска называть самым эффективным, т.к. "может совпасть" при первом же сравнении. Аналитические исследования проводить лениво, а вот стандартный генератор случайных чисел на 200млн значений генерит 2.5млн палиндромов. В этих условиях алгоритм с обработкой половины значительно обгоняет другие. А самые медленные реализации те, что вызывают встроенные pow и log. Кстати, данный результат неформально можно объяснить так - для определения какая цифра первая, а какая последняя, требуется узнать число цифр. Что сразу делает такой алгоритм зависящим от n, где n - число цифр. "Алгоритм половины числа" (назовем его так) в среднем (на произвольном числе) зависит от n/2. зы: за репу спасибо |
|||
|
||||
baldina |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
кому интересно, тут результаты:
http://liveworkspace.org/code/5ad1983fdeb2...2368c01d7f3b717 длину числа пришлось ограничить тремя 000, т.к. на более длинных не проходит тест рекурсивного алгоритма Dov (видимо переполнение, не стал вникать). у себя имею такие результаты (N/A - тест не пройден): для трехзначных чисел
для любых чисел (32bit)
для любых чисел (64bit)
Это сообщение отредактировал(а) baldina - 29.12.2010, 17:53 |
||||||
|
|||||||
Skevalt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 30.11.2006 Репутация: нет Всего: 3 |
Ура! Я античемпион!
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
ах да.. сорри.. запутался в трех соснах ![]() но с нулем все равно надо быть осторожным.. Добавлено через 2 минуты и 24 секунды baldina, не думал, что эта тема может сподвигнуть на подобные исследования ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |