|
0 / 0 / 1
Регистрация: 26.10.2009
Сообщений: 49
|
|
Простые примеры программ на рекурсию19.02.2010, 16:29. Показов 69318. Ответов 21
Метки нет (Все метки)
0
|
|
| 19.02.2010, 16:29 | |
|
Ответы с готовыми решениями:
21
Простые примеры программ клиента и сервера [C/C++] Примеры программ парсеров Примеры ооп программ |
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
| 19.02.2010, 16:44 | ||||||
|
Рекурсивное вычисление факториала:
0
|
||||||
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|
| 19.02.2010, 16:44 | |
|
Рекурсия факториала
unsigned long Fl(9)
{ if( 9 <= 1 ) return 1; else return 9 * Fl( 9 - 1 )
unsigned long Fl(8) { if( 8 <= 1 ) return 1; else return 8 * Fl( 8 - 1 )
unsigned long Fl(7) { if( 7 <= 1 ) return 1; else return 7 * Fl( 7 - 1 )
unsigned long Fl(6) { if( 6 <= 1 ) return 1; else return 6 * Fl( 6 - 1 )
unsigned long Fl(5) { if( 5 <= 1 ) return 1; else return 5 * Fl( 5 - 1 )
unsigned long Fl(4) { if( 4 <= 1 ) return 1; else return 4 * Fl( 4 - 1 )
unsigned long Fl(3) { if( 3 <= 1 ) return 1; else return 3 * Fl( 3 - 1 )
unsigned long Fl(2) { if( 2 <= 1 ) return 1; else return 2 * Fl( 2 - 1 )
unsigned long Fl(1) { if( 1 <= 1 ) return 1; // STOP else return 1 * Fl( 1 - 1 ); } } } } } } } } } Но факториал это плохой пример, т.к. факториал можно посчитать и без рекурсии (а рекурсия это не гуд вообще то говоря) Хороший пример - функция считывания файлов из директории. Если она считывает что в папке есть папка то рекурсивно считывает файлы и из неё и так далее в самую глубину
1
|
|
|
Технофашист
229 / 217 / 11
Регистрация: 11.03.2009
Сообщений: 887
|
||||||
| 19.02.2010, 16:45 | ||||||
|
Классический пример - вычисление факториала:
))) ))))))))
0
|
||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
| 19.02.2010, 16:47 | ||||||
|
Я первый))
Вычисление n-ного числа Фибоначчи:
0
|
||||||
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
|
||||||
| 19.02.2010, 16:49 | ||||||
1
|
||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 19.02.2010, 16:50 | |
|
insideone, наглядно...
0
|
|
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|||||||
| 19.02.2010, 17:01 | |||||||
![]()
0
|
|||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
| 19.02.2010, 17:05 | ||||||
|
insideone, тогда логичней будет так:
0
|
||||||
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|
| 19.02.2010, 17:14 | |
Сообщение было отмечено как решение
Решение
2 Nameless One угу, не углядел...
PS. "Чтобы понять рекурсию, нужно сначала понять рекурсию"
3
|
|
|
0 / 0 / 1
Регистрация: 26.10.2009
Сообщений: 49
|
|
| 19.02.2010, 18:10 [ТС] | |
|
как будет выглядет рекурсия которая вычисляет ???
d(1)=0, d(2)=1, d(n)=n*d(n-1)+(-1)^n, n>3
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
| 19.02.2010, 18:18 | ||||||
|
Как-то так:
0
|
||||||
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||
| 19.02.2010, 18:20 | ||||||
if ( 4 == 1 ) return 0; if ( 4 == 2 ) return 1; return 4 * d(4-1)
double d(3){ if ( 3 == 1 ) return 0; if ( 3 == 2 ) return 1; return n * d(3-1)
double d(2){ if ( 2 == 1 ) return 0; if ( 2 == 2 ) return 1; // STOP return 2 * d(2-1)+ pow(-1, 2); } } } Может так, вы попробуйте главное ж разобраться)
0
|
||||||
|
0 / 0 / 1
Регистрация: 26.10.2009
Сообщений: 49
|
|
| 19.02.2010, 20:17 [ТС] | |
|
Как будет выглядеть полный код?
0
|
|
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||
| 19.02.2010, 20:24 | ||||||
0
|
||||||
|
257 / 144 / 18
Регистрация: 27.12.2009
Сообщений: 909
|
||||||
| 19.02.2010, 20:40 | ||||||
|
рекурсия это (из книги по си взял) вызов или использование какой либо функцией или переменной самой себя
вот пример на функцию
0
|
||||||
|
0 / 0 / 1
Регистрация: 26.10.2009
Сообщений: 49
|
||||||
| 19.02.2010, 20:43 [ТС] | ||||||
|
а этот!!
0
|
||||||
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||
| 19.02.2010, 20:58 | ||||||
)
0
|
||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 20.02.2010, 07:52 | ||
|
0
|
||
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
||||||
| 20.02.2010, 23:22 | ||||||
|
Рекурсия. Функция аккермана:
0
|
||||||
| 20.02.2010, 23:22 | |
|
Помогаю со студенческими работами здесь
20
Примеры программ для закрепления материала Нужны примеры программ с двумерными массивами Нужны примеры создания реальных программ Где найти примеры программ для начинающих У кого нибудь есть приложение Win32 на c++! Примеры программ, с вводом и выводом данных! чтобы нагляднее было! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|