Program w języku Java do znajdowania silni liczby przy użyciu rekursji

W tym programie nauczysz się znajdować i wyświetlać silnię liczby za pomocą funkcji rekurencyjnej w Javie.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Metody Java
  • Rekursja Java

Silnia liczby dodatniej n jest wyrażona wzorem:

 silnia n (n!) = 1 * 2 * 3 * 4 *… * n

Silnia liczby ujemnej nie istnieje. Silnia 0 to 1.

W tym przykładzie nauczysz się znajdować silnię liczby za pomocą rekurencji. Odwiedź tę stronę, aby dowiedzieć się, jak znaleźć silnię liczby za pomocą pętli.

Przykład: silnia liczby przy użyciu rekursji

 public class Factorial ( public static void main(String() args) ( int num = 6; long factorial = multiplyNumbers(num); System.out.println("Factorial of " + num + " = " + factorial); ) public static long multiplyNumbers(int num) ( if (num>= 1) return num * multiplyNumbers(num - 1); else return 1; ) )

Wynik

 Silnia 6 = 720

Początkowo multiplyNumbers()wywoływana jest main()funkcja z wartością 6 przekazaną jako argument.

Ponieważ 6 jest większe lub równe 1, 6 jest mnożone do wyniku, multiplyNumbers()gdzie przekazano 5 (liczba -1). Ponieważ jest wywoływana z tej samej funkcji, jest to wywołanie rekurencyjne.

W każdym wywołaniu rekurencyjnym wartość argumentu num jest zmniejszana o 1, aż liczba osiągnie wartość mniejszą niż 1.

Gdy wartość num jest mniejsza niż 1, nie ma wywołania rekurencyjnego.

A każde rekurencyjne wywołanie zwraca nam:

 6 * 5 * 4 * 3 * 2 * 1 * 1 (dla 0) = 720

Interesujące artykuły...