1. Uczyć się
  2. /
  3. Courses
  4. /
  5. Hierarchiczne i rekurencyjne zapytania w SQL Server

Connected

Exercise

Jak rekurencyjnie obliczyć silnię z 6

W poprzednim ćwiczeniu obliczyłeś silnię 5! przy użyciu rozwiązania iteracyjnego. Teraz obliczysz 6! rekurencyjnie. Aby zdefiniować silnię n! rekurencyjnie, rozkładamy problem na mniejsze problemy tego samego typu. Można do tego użyć następującej definicji:

  • 0! = 1 dla step = 0
  • (n+1)! = n! * (step+1) dla step > 0

Dzięki tej prostej definicji możesz obliczyć silnię dowolnej liczby. W tym ćwiczeniu n! jest reprezentowane przez factorial.

Wykorzystasz powyższą definicję za pomocą rekurencyjnego CTE.

Instrukcje

100 XP
  • Zainicjalizuj pola factorial i step wartością 1.
  • Oblicz część rekurencyjną za pomocą wyrażenia factorial * (step + 1).
  • Zatrzymaj proces rekurencji, gdy wartość bieżącej iteracji jest mniejsza od docelowego numeru silni.