Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > by-pkgid > 72e0913cefe7683427338e51dd70bbde > files > 222

python-cython-0.11.3-1mdv2009.1.x86_64.rpm

import cmath

def nCr(n, r):
    """Return the number of ways to choose r elements of a set of n."""
    return cmath.exp( cmath.lfactorial(n) - cmath.lfactorial(r)
                      - cmath.lfactorial(n-r) )

if __name__ == "__main__":
    import sys
    if len(sys.argv) != 3:
        sys.stderr.write("USAGE: %s n r\nPrints n-choose-r.\n" % sys.argv[0])
        sys.exit(1)
    n, r = map(float, sys.argv[1:])
    print nCr(n, r)