I am taking a C programming course. We are writing our third program, and I do not understand exactly what to do. I don't want someone to do my homework, but I need an explanation of this so that I can work it out. This is copied directly from our homework.

In order to calculate the binomial coefficients, a mathemetician developedpasc(k, j), a physicist developedcoeff(k, j), and an engineer developedapprox(k, j). Here we are assuming k >= j. Evaluate which of these is the best to use and explain why. Write a program that calculates the values of these functions at any input value of k and j. The main function should have a loop allowing the user to continue to enter values of k and j until they decide to quit. If the user enters negative numbers, or if they enter values k and j with k < j, you must not accept the values, and instead prompt them again for positive whole numbers with k >= j. Include global variables that count the number of times each function is called when an evaluation is made. These counters are to be imcremented in the very first statement ofpascandapprox, but is to incremented as the first statement in fact to measurecoeff. The values of these counters are to be output as a (partial) measurement of efficiency.

Prototypes:

long pasc(int k, int j);

float approx(int k, int j);

long coeff(int k, int j);

Descriptions:

pasc(k, j)

1, if j == 0

1, if k ==j

pasc(k-1, j-1) + pasc(k-1, j), otherwise

coeff(k, j)

(fact(k))/(fact(j)fact(k-j))

approx(k, j)

k, if k==j

((k-j+1)/j) * approx(k, j-1), otherwise