У овом примеру ћете научити да пронађете факторијел негативног целог броја који је корисник унео помоћу рекурзије.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања на Ц:
- Ц Функције
- Ц Кориснички дефинисане функције
- Ц Рекурзија
Факторијал позитивног броја н дат је са:
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()
функцији.