C++ Algorithms

posted by .

Binomial numbers (or binomial coefficients) are important positive integers that arise frequently in computing and mathematics. A function to compute binomial coefficients will have two inputs: n and k. The corresponding coefficient is written as nCk.

/* pseudocode for Binomial Coefficients */
int binomial(int n, int k)
{
If (n < k) Then return (0)
Else
{
Set denominator = 1*2*...*k
Set numerator = (n-k+1)*(n-k+2)*...*(n-1)*n
return (numerator / denominator)
} // else
End if
}

Here are some additional notes:

1. Because binomial numbers are integers, the return type should be int, and the two parameters, n and k, are also integers.

2. We have used the notation

1*2*…*k

to indicate the product of consecutive numbers. For example,

1*2*…*5

is actually

1*2*3*4*5 = 120

Similarly,

6*7...*10 = 6*7*8*9*10 = 30,240

3. Part of the challenge in this exercise is to figure out how to compute this product. You should review the for loop in module 3, and recall how for loops are written in C++. Also review the programming exercise on exponentiation in module 3.

4. You can use integer division in line 7 above—it turns out that if numerator and denominator are computed as shown above, denominator will always evenly divide numerator.

To test this function, you must write a driver (in the code template given below, the driver is the main function).

You should design a suitable test suite and test your program using it. The test suite is part of the materials that you will be submitting.
Code Template for Exercise 1

/****************************************************/
/* File: name of your file with the source code */
/* */
/* Created by: give your name */
/* Date: give the date */
/* */
/* Program to compute binomial coefficients */
/* */
/* Inputs: (keyboard) */
/* Two positive integers (n & k) */
/* */
/* Output: */
/* Corresponding binomial coefficient (nCk) */
/* */
/* Algorithm: see attached description */
/****************************************************/

#include <iostream>

using namespace std ;

int binomial(int n, int k) ; // function prototype

int main()
{

int n, k ; // parameters for the binomial number
int result ;

cout << endl ;

// read in n & k

cout << "Enter n (positive integer) : " ;
cin >> n ;

cout << "Enter k (positive integer) : " ;
cin >> k ;

result = ?? Write the function call ;

cout << "Binomial number " << n << "C" << k
<< " = " << result << endl ;

return (0) ;
}

// ********************************************************

binomial(int n, int k)

/* Computes the binomial coefficient nCk */
/*�������������������������������������� */
/* Inputs:������������������������������ */
/*��� n, k (integers)����������������� ��*/
/*�������������������������������������� */
/* Output:������������������������������ */
/*��� binomial coefficient nCk (integer) */

{
�� int numerator, denominator ;
�� int i ; // needed to compute numerator & denominator

�� if (?? Write if-test)
{
���� return(??) ;
�� }
�� else
{
����� denominator = ?? ; // initial value

����� for (i = ?? ; i <= ?? ; i = i+1)
������� denominator = ?? * ?? ;

����� write code to compute numerator, along similar lines

����� return (??) ;
�� } // else
}





Anyone know how to do this? I got the compiler ready!

Respond to this Question

First Name
School Subject
Your Answer

Similar Questions

  1. math

    express this in binomial: 2 4ez (4e-z) the 2 is the square.. can anyone teach me how to do this?
  2. computer science

    Algorithm for Binomial Numbers Task Binomial numbers (or binomial coefficients) are important positive integers that arise frequently in computing and mathematics. A function to compute binomial coefficients will have two inputs: n …
  3. Binomial

    Independent samples of n1 = 400 and n2= 400 observations were selected from binomial populations 1 and 2, and x1 = 100 and x2 = 127 successes were observed. What is the best point estimator for the difference ( p1-p2) in the two binomial …
  4. binomial

    Independent samples of n1 = 400 and n2= 400 observations were selected from binomial populations 1 and 2, and x1 = 100 and x2 = 127 successes were observed. Calculate the approximate standard error for the statistic, the point estimator …
  5. algebra 2

    this binomial can be factored as the product of a binomial and trinomial. Enter the binomial factor. 64y^15 + 125
  6. Binomial Theoram

    Show that the coefficient of the middle term of(1+x)power2n is equal to the sum of the coefficients of the two middle terms of (1+x)power2n-1.
  7. algebra

    the binomial 8y^12+z^6 can be factored into a binomial and a trinomial. the binomial factor is (2y^4+z^2). whats the trinomial?
  8. Calculus

    How many coefficients in the binomial series expansion of (1+x)^7 are divisible by 7?
  9. Math

    Rules on multiplying Monomial to monomials ; Monomial to Binomial : Binomial to Binomial ; Binomial to Trinomial ?
  10. Mathematics -binomial theorem

    How do we find the value of(1.01)^5 approximately up to three decimals,only with the use of the Binomial theorem?

More Similar Questions