Sunday, May 1

Rekursive Bestimmung des Binomialkoeffizienten in C


Aufgabe: Schreiben Sie ein C-Programm binom.c, welches den Binomialkoeffizienten "a über b" zweier natürlicher Zahlen a und b rekursiv bestimmt. Eingabe: a, b. Ausgabe: der Wert bzw. Fehlermeldungen.

Quellcode:

/* Programm zur Berechnung des Binomialkoeffizienten zweier natürlicher Zahlen        CA 2011 */


/* Bibliothek-Einbindung für Ein- und Ausgaben (scanf, printf) */
#include


int a; int b;


/* Unterprogramm binom */
int binom (int a, int b)

    int tempA, tempB; 
    if (( b == 0 ) || (a == b)){ 
        return 1; 
    } 
    /* rekursion */
    else
    { 
        tempA = binom (a - 1, b);
        tempB = binom (a - 1, b - 1);
        return tempA + tempB; 
    } 
}


/* Hauptprogramm main */
int main (void)
   {
   printf("\nBerechnung des Binomialkoeffizienten a über b");
   do
   {
   printf("\nBitte Wert für a eingeben (a ≥ 0) ");   
   scanf("%d",&a);
   } while (a < 0);
   
   do
   {
   printf("\nBitte Wert für b eingeben (b ≥ 0 und b ≤ a) ");   
   scanf("%d",&b);
   } while (b < 0 || a < b);


   printf("\nDer Binomialkoeffizient a über b ist >> %d << !\n", binom (a, b));
   return 0;
   }

No comments:

Post a Comment