C-program för att hitta en faktor med hjälp av rekursion

I det här exemplet lär du dig att hitta ett faktum för ett icke-negativt heltal som användaren angett med rekursion.

För att förstå detta exempel bör du ha kunskap om följande C-programmeringsämnen:

  • C Funktioner
  • C Användardefinierade funktioner
  • C Rekursion

Faktorn för ett positivt tal n ges av:

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

Faktorn för ett negativt tal finns inte. Och faktorn 0är 1.

Du kommer att lära dig att hitta ett tal med hjälp av rekursion i detta exempel. Besök den här sidan för att lära dig hur du kan hitta ett nummer med hjälp av en slinga.

Fakta om ett nummer som använder rekursion

#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; ) 

Produktion

Ange ett positivt heltal: 6 Faktor 6 = 720 

Antag att användaren angav 6.

Ursprungligen multiplyNumbers()kallas från main()med 6 godkända som ett argument.

Sedan skickas 5 till multiplyNumbers()från samma funktion (rekursivt samtal). I varje rekursivt samtal minskas argumentets värde med 1.

När värdet på n är mindre än 1, finns det inget rekursivt samtal och faktorn returneras i slutändan till main()funktionen.

Intressanta artiklar...