Sobes.tech
Junior — Middle

Обяснете какво означава използването на рекурсивни функции в програмирането и как работят.

sobes.tech AI

Отговор от AI

Рекурсивната функция е функция, която се извиква сама себе си за решаване на задача. В програмирането рекурсията се използва за разделяне на сложна задача на по-прости подзадачи от същия тип.

Принцип на работа:

  • Функцията се извиква сама с променен аргумент, приближавайки решението към базовия случай.
  • Базовият случай е условието, при което рекурсията приключва, за да се избегнат безкрайни извиквания.

Пример на Go — изчисление на факториал на число:

package main
import "fmt"

func factorial(n int) int {
    if n == 0 {
        return 1 // базов случай
    }
    return n * factorial(n-1) // рекурсивно извикване
}

func main() {
    fmt.Println(factorial(5)) // 120
}

Рекурсията е полезна за работа с дървета, графи, разделяне на задачи, но изисква внимание, за да се избегне препълване на стека.