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

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

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања на Ц:

  • Ц Функције
  • Ц Кориснички дефинисане функције
  • Ц Рекурзија

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

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

Факторијал негативног броја не постоји. А факторијел 0је 1.

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

Факторијал броја који користи рекурзију

#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; ) 

Оутпут

Унесите позитиван цео број: 6 Факторијал од 6 = 720 

Претпоставимо да је корисник унео 6.

У почетку multiplyNumbers()се позива са main()са 6 као аргумент прослеђено.

Затим се 5 преноси multiplyNumbers()из исте функције (рекурзивни позив). У сваком рекурзивном позиву вредност аргумента н смањује се за 1.

Када је вредност н мања од 1, нема рекурзивног позива и факторијел се на крају враћа main()функцији.

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