PHYSICS 580 Spring 2005


Fortran Example #4 due 9 a.m. Tues Feb 15, 2005



Write a program to compute the combinatorial . The program will request the input of two integers and print out the combinatorial as a real number


The program will consist of two parts, a main program and a subroutine that actually computes the combinatorial.


The two numbers N and k should be passed as integers to the subroutine. However, to make computing easier, rather than computing the factorial, compute the log factorial,


log N ! = sum( i = 2,N) log i


and then log log N ! log k ! log (N-k)!; finally exponentiate the answer. You may leave it as a real number.


Your subroutine should have error traps for the following: N or k < 0, and N < k. In case of an error, it should return a logical variable.


The main calling program should ask for two integer and then call the subroutine. It should check the error flag; if there is an error, print an error message; if not, print the result.






To make identification easier for me please use the convention lastname_ex4.f for your program. Also, your program should print out the following at the beginning:


This is fortran example 4.

Written by your name here.


to submit: first compress your file (this will help save formatting)

gzip lastname_ex4.f

this will produce a file lastname_ex4.f.gz

attach this to an e-mail to: