Problem: Binomial
coefficients are used in the study of binomial distributions and reliability of
multicomponent redundant systems. It is
given by
m
m!
B(m,x)
= ( ) =
------------- , m >= x
x
x! (m-x)!
A table of binomial coefficients is required to determine the
binomial coefficient for any set of m and x.
Problem Analysis: The binomial
coefficient can be recursively calculated as follows:
B(m,o) = 1
m-x+1

x
Further,
B(o,o) = 1
That is, the binomial coefficient
is one when either x is zero or m is zero.
The program in Fig.6.12 prints the table of binomial coefficients for m
= 10. The program employs one do loop and one while loop.
Program
#define MAX 10
main()
{
int m, x, binom;
printf(" m x");
for
(m = 0; m <= 10 ; ++m)
printf("%4d", m);
printf("\n-------------------------------------------\n");
m =
0;
do
{
printf("%2d ", m);
x = 0; binom = 1;
while (x <= m)
{
if(m == 0 || x == 0)
printf("%4d", binom);
else
{
binom = binom * (m - x +
1)/x;
printf("%4d",
binom);
}
x = x + 1;
}
printf("\n");
m = m + 1;
}
while (m <= MAX);
printf("---------------------------------------------\n");
}
Output m
x 0
1 2 3
4 5 6
7 8 9
10
---------------------------------------------------
0 1
1 1
1
2 1
2 1
3 1
3 3 1
4 1
4 6 4
1
5 1
5 10 10 5 1
6 1
6 15 20 15 6
1
7 1
7 21 35 35 21
7 1
8 1
8 28 56
70 56 28
8 1
9 1
9 36 84 126 126
84 36 9
1
10 1
10 45 120 210 252 210 120 45
10 1
---------------------------------------------------
No comments:
Post a Comment