Содержание
- 2. Пример рекурсии Если у вас жирное пятно на платье, не переживайте. Пятна от масла убираются бензином.
- 3. Определение Рекурсия (от латинского recursio - возвращение) - это такой способ организации вычислительного процесса, при котором
- 4. Пример вычисление факториала. N! = 1*2*3* . . . *(N-2)*(N-1)*N 1! = 1 0! = 1
- 5. Итеративная функция Сначала покажем обычную не рекурсивную функцию для вычисления факториала, которая реализует итеративный алгоритм вычисления
- 6. Вторая функция использует рекурсивные обращения, что делает ее гораздо компактнее, и основана на очевидном соотношении: N!
- 7. Рекурсивная функция
- 8. Пример вычислений fact(5)=fact(4)*5 fact(4)=fact(3)*4 fact(3)=fact(2)*3 fact(2)=fact(1)*2 fact(1)=fact(0)*1 fact(0)=1 24*5=120 6*4=24 2*3=6 1*2=2 1*1=1 1
- 9. Таким образом можем сделать вывод, что рекурсию можем заменить на цикл (итерацию) и наоборот. Естественно, напрашивается
- 11. Бесконечная рекурсия Если граничное условие отсутствует, то получим бесконечную рекурсию – эквивалент бесконечного цикла. Бесконечная рекурсия
- 12. Косвенная рекурсия Рекурсия может быть как прямой, когда программа вызывает саму себя, так и непрямой (косвенной
- 13. Косвенная рекурсия Образно косвенную рекурсию можно описать так. Перед зеркалом 1 стоит зеркало 2, в котором
- 15. Числа Фибоначчи F(0)=0 F(1)=1, F(N)=F(N-1)+F(N-2) при n>1. 0 1 1 2 3 5 8 13 21
- 16. Числа Фибоначчи ИТЕРАЦИЯ
- 17. Числа Фибоначчи Fib(5) = Fib(4)+Fib(3) Fib(4) = Fib(3)+Fib(2) Fib(3) = Fib(2)+Fib(1) Fib(2) = Fib(1)+Fib(0) Fib(1) =
- 18. Степень числа ab= a*a*…*a - b раз или ab=ab-1*a int power(int a, int b) { if
- 20. Скачать презентацию