Обсуждение:Java

Материал из Поле цифровой дидактики
Версия от 13:08, 31 марта 2023; Patarakin (обсуждение | вклад) (Задачи на рекурсию в Java: новая тема)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Задачи на рекурсию в Java

Сгенерировано GenAI (POE)
https://poe.com/s/kuwPtQIdzL1xdPsAURjp

Вот несколько примеров задач на рекурсию в Java:

Вычисление факториала числа: public static int factorial(int n) {

   if (n == 0) {
       return 1;
   } else {
       return n * factorial(n - 1);
   }

} Вычисление чисел Фибоначчи: public static int fibonacci(int n) {

   if (n <= 1) {
       return n;
   } else {
       return fibonacci(n - 1) + fibonacci(n - 2);
   }

} Вычисление суммы цифр числа: public static int sumOfDigits(int n) {

   if (n == 0) {
       return 0;
   } else {
       return n % 10 + sumOfDigits(n / 10);
   }

} Поиск наибольшего общего делителя: public static int gcd(int a, int b) {

   if (b == 0) {
       return a;
   } else {
       return gcd(b, a % b);
   }

} Разворот строки: public static String reverseString(String s) {

   if (s.isEmpty()) {
       return s;
   } else {
       return reverseString(s.substring(1)) + s.charAt(0);
   }

} Каждая из этих задач решается с помощью рекурсивной функции, которая вызывает саму себя с измененными параметрами в зависимости от частного случая, пока не будет достигнута базовая (терминальная) точка.