Hi,
I need to calculate this probability P!/{n \choose p}, varying both n
and p, n takes values in this range [512:1024] and p in [2:12].
So i write this code in python:

def factorial(n):
        result=1
        if n==0: return 1
        for i in xrange(1, abs(n)+1):
                result = i*result
        if n >= 0:
                return result
        else:
                return -result
def binomial(n, k):
        assert n>0 and isinstance(n, (int, long)) and isinstance(k,
(int,long))
        if k < 0 or k > n:
                return 0
        if k == 0 or k == n:
                return 1
        return factorial(n) // (factorial(k) * factorial(n-k))

I want to call factorial(2)//binomial(1024,2) for example, in this way
trivially I obtain 0 as probability, how can I obtain the probability
forcing this division to output extremely small real numbers????

I want to produce a program that provide a set of data of this
probability on varying n and p, in order to plot a surface with this
data set with gnuplot, any comments or suggestion?
thanks in advance,
Andrea

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to