![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
avnemchenko |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.7.2009 Репутация: нет Всего: нет |
Добрый день!
Какие есть различные технологии реализации расчета факториала в С++? Ну и сравнение скоростей... Подчеркиваю - именно ТЕХНОЛОГИИ, а не способы (скажем, использование цикла - это технология, а вот цикл for (..), while(..){} или do{..}while(..) - это способы). Мне пришли в голову 3 технологии: Циклы: Это очевидно и первое приходит в голову (в мою голову ![]()
Рекурсивные функции Немного короче, но дольше в исполнении и линейный рост используемой памяти.
Шаблоны (расчет при компиляции) Достоинство и недостаток - результат возвращается при компиляции. Скорость, естественно, максимально возможно высокая. Но передавать можно только константу.
Можно ли использовать подставляемые функции inline или функции #define? Inline у меня в Visual C++ 8 все равно обычная функция - значит, речь идет о рекурсивной функции. С #define ничего не вышло - компилятор не захотел раскрыть рекурсию и реализовать расчет по образу шаблона. Интересно бы услышать еще какие-нибудь другие технологии на С++ без ассемблера! |
||||||
|
|||||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
развлекайтесь тыц Это сообщение отредактировал(а) zim22 - 10.7.2009, 12:26 |
|||
|
||||
avnemchenko |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.7.2009 Репутация: нет Всего: нет |
Интересно! Но что-то у меня там не открываются ссылки... Но это и не важно - я говорю не об алгоритмах, а о ТЕХНОЛОГИЯХ. Я использовал три - циклы, рекурсия и шаблоны. Можно ли сюда чего добавить? |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
avnemchenko |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.7.2009 Репутация: нет Всего: нет |
Ой! Я эту тему поиском почему-то не нашел ... Спасибо! |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
||||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
Теперь, видимо, надо будет "собрать разные способы реализации" теоремы Пифагора
![]() -------------------- вопросов больше чем ответов |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |