Sobes.tech
Junior — Middle
104

Бағдарламалауда рекурсивті функциялар дегеніміз не және олар қалай жұмыс істейді?

Сұралған компаниялар
КуперКупер

AI-дан жауап

sobes.tech 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
}

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