Объяснение: Техника программирования вызовов программы называется рекурсией.
Техника программирования самой программы называется рекурсией. Рекурсия широко используется в качестве алгоритма в языках программирования. Процесс или функция имеют метод для прямого или косвенного вызова в его определении или описании. Обычно он преобразует большой и сложный слой проблемы за слоем в меньшую проблему, аналогичную исходной проблеме для решения. Рекурсивная стратегия требует лишь небольшого количества программ для описания множественных повторных расчетов, необходимых для процесса решения проблем, значительно сокращая объем кода в программе. Способность рекурсии заключается в использовании конечных операторов для определения бесконечного набора объектов.
Три условия для рекурсии:
1. Граничные условия
2. Раздел рекурсивного развития
3. рекурсивно возвращающий сегмент
Когда граничное условие не выполняется, продолжайте рекурсивно; Когда граничное условие удовлетворяется, возвращайте рекурсивно.
Ниже приведены две примеры программы:
1. Используйте код Java, чтобы найти фактор 5. (Фабрика 5 = 5*4*3*2*1)
пакет org.wxp.recursion; / ***Рассчитайте фактор 5 (результат = 5*4*3*2*1)*@author Championship.wong*/ public class test01 {public static void main (string [] args) {System.out.println (f (5)); } public static int f (int n) {if (1 == n) return 1; иначе вернуть n*(n-1); }} В этом вопросе анализируются три условия рекурсии:
(1) Граничные условия: факторные, умножьте до последнего числа, то есть 1, возврат 1, а программа будет выполнена до конца;
(2) Раздел рекурсивного развития: когда текущий параметр не равен 1, продолжайте называть себя;
(3) Рекурсивно возвращаемый сегмент: запустите с наибольшего числа, если текущий параметр составляет 5, то это 5*4, то есть 5*(5-1), то есть n*(n-1)
2. Используйте код Java, чтобы найти последовательность: 1, 1, 2, 3, 5, 8 ...... 40 -й цифровой номер
пакет org.wxp.recursion; / *** Найти последовательность: 1, 1, 2, 3, 5, 8 ...... 40 -й цифровой номер*/ public class test_02_fibonacci {public static void main (string [] args) {System.out.println (f (6)); } public static int f (int n) {if (1 == n || 2 == n) return 1; else return f (n-1) + f (n-2); }} 3. Описание задачи: Решите значение 10 -й позиции последовательности Фибоначчи? (Последовательность Фибоначчи, также известная как золотистая последовательность, относится к последовательности: 1, 1, 2, 3, 5, 8, 13, 21, ... В математике последовательность Фибоначчи определена в следующем рекурсивном методе: F0 = 0, f1 = 1, fn = f (n-1)+f (n-2) (n> = 2, N.
Список программ:
/** *<p> Название: java рекурсивный алгоритм пример </p> *<p> Описание: Используйте рекурсивный алгоритм для решения значения пятого числа последовательности Fibonacci </p> *<p> filename: fibonacci.java </p> */public fibonacci {/** * Последовательность Fibonacci *Входные параметры: int n *Возвращение типа: int */ public static int fun (int n) {if (1 == n || 2 == n) {return 1; } else {return (fun (n-1) + fun (n-2)); }} / ** *Метод Описание: Основной метод *Входные параметры: string [] args *return type: void * / public void main (string [] args) {System.out.println (Fun (10)); }}Результаты работы следующие:
Скопируйте код следующим образом: 55