У овом програму ћете научити како да пронађете и прикажете факторијел броја помоћу рекурзивне функције у Котлину.
Факторијал позитивног броја н дат је са:
факторијел од н (н!) = 1 * 2 * 3 * 4 * … * н
Факторијал негативног броја не постоји. А фактор 0 је 1.
У овом примеру ћете научити да проналазите факторијел броја користећи рекурзију. Посетите ову страницу да бисте сазнали како можете пронаћи факторијел броја помоћу петље.
Пример: Факторијал броја који користи рекурзију
fun main(args: Array) ( val num = 6 val factorial = multiplyNumbers(num) println("Factorial of $num = $factorial") ) fun multiplyNumbers(num: Int): Long ( 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
Ево еквивалентног Јава кода: Јава програм за проналажење фактора помоћу рекурзије