У овом програму ћете научити да пронађете и прикажете факторијел броја користећи рекурзивну функцију у Јави.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Јава методе
- Јава Рецурсион
Факторијал позитивног броја н дат је са:
факторијел од н (н!) = 1 * 2 * 3 * 4 * … * н
Факторијал негативног броја не постоји. А фактор 0 је 1.
У овом примеру ћете научити да проналазите факторијел броја користећи рекурзију. Посетите ову страницу да бисте сазнали како можете пронаћи факторијел броја помоћу петље.
Пример: Факторијал броја који користи рекурзију
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; ) )
Оутпут
Факторијал од 6 = 720
У почетку multiplyNumbers()
се main()
функција позива са функцијом 6 која је прослеђена као аргумент.
С обзиром да је 6 веће или једнако 1, 6 се множи до резултата multiplyNumbers()
где се прослеђује 5 (број -1). Пошто се позива из исте функције, то је рекурзивни позив.
У сваком рекурзивном позиву, вредност аргумента нум се смањује за 1 док нум не достигне мање од 1.
Када је вредност нум мања од 1, нема рекурзивног позива.
И сваки рекурзивни позив се враћа дајући нам:
6 * 5 * 4 * 3 * 2 * 1 * 1 (за 0) = 720