Котлинов програм за проналажење фактора броја помоћу рекурзије

У овом програму ћете научити како да пронађете и прикажете факторијел броја помоћу рекурзивне функције у Котлину.

Факторијал позитивног броја н дат је са:

 факторијел од н (н!) = 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

Ево еквивалентног Јава кода: Јава програм за проналажење фактора помоћу рекурзије

Занимљиви Чланци...