If you want to know the number of combinations of x things taken n at a time, you can use the Python module gmpy. The module gmpy is a C-coded Python extension module that supports fast multiple-precision arithmetic, very handy if x things reach a large number.
Number of Combinations (Python)
''' gmpy2_combinations_number.py
comb(x, n) returns the number of combinations of x things,
taken n at a time, n must be >= 0
gmpy is a C-coded Python extension module that supports fast
multiple-precision arithmetic, download Windows installers from:
http://code.google.com/p/gmpy/
tested with Python27/33 and GMPY2 2.0.0b4 by vegaseat 27feb2013
'''
import gmpy2
print("gmpy2.comb(3, 2) = {}".format(gmpy2.comb(3, 2)))
print("gmpy2.comb(100, 20) = {}".format(gmpy2.comb(100, 20)))
print('-'*60)
print("Is gmpy2.comb(100000, 1000) == gmpy2.comb(100000, 99000)?")
print(gmpy2.comb(100000, 1000) == gmpy2.comb(100000, 99000))
print('-'*60)
print("""\
There are 100 printable characters on a computer keyboard.
How many different 10 character passwords can you make?""")
print("{:,}".format(int(gmpy2.comb(100, 10))))
''' result ...
gmpy2.comb(3, 2) = 3
gmpy2.comb(100, 20) = 535983370403809682970
------------------------------------------------------------
Is gmpy2.comb(100000, 1000) == gmpy2.comb(100000, 99000)?
True
------------------------------------------------------------
There are 100 printable characters on a computer keyboard.
How many different 10 character passwords can you make?
17,310,309,456,440
'''
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.