| ${0 \choose 0} = 1$ | ||||||||||
| ${1 \choose 0} = 1$ | ${1 \choose 1} = 1$ | |||||||||
| ${2 \choose 0} = 1$ | ${2 \choose 1} = 2$ | ${2 \choose 2} = 1$ | ||||||||
| ${3 \choose 0} = 1$ | ${3 \choose 1} = 3$ | ${3 \choose 2} = 3$ | ${3 \choose 3} = 1$ | |||||||
| ${4 \choose 0} = 1$ | ${4 \choose 1} = 4$ | ${4 \choose 2} = 6$ | ${4 \choose 3} = 4$ | ${4 \choose 4} = 1$ | ||||||
| ${5 \choose 0} = 1$ | ${5 \choose 1} = 5$ | ${5 \choose 2} = 10$ | ${5 \choose 3} = 10$ | ${5 \choose 4} = 5$ | ${5 \choose 5} = 1$ | |||||
| ${6 \choose 0} = 1$ | ${6 \choose 1} = 6$ | ${6 \choose 2} = 15$ | ${6 \choose 3} = 20$ | ${6 \choose 4} = 15$ | ${6 \choose 5} = 6$ | ${6 \choose 6} = 1$ | ||||
| ${7 \choose 0} = 1$ | ${7 \choose 1} = 7$ | ${7 \choose 2} = 21$ | ${7 \choose 3} = 35$ | ${7 \choose 4} = 35$ | ${7 \choose 5} = 21$ | ${7 \choose 6} = 7$ | ${7 \choose 7} = 1$ | |||
| ${8 \choose 0} = 1$ | ${8 \choose 1} = 8$ | ${8 \choose 2} = 28$ | ${8 \choose 3} = 56$ | ${8 \choose 4} = 70$ | ${8 \choose 5} = 56$ | ${8 \choose 6} = 28$ | ${8 \choose 7} = 8$ | ${8 \choose 8} = 1$ | ||
| ${9 \choose 0} = 1$ | ${9 \choose 1} = 9$ | ${9 \choose 2} = 36$ | ${9 \choose 3} = 84$ | ${9 \choose 4} = 126$ | ${9 \choose 5} = 126$ | ${9 \choose 6} = 84$ | ${9 \choose 7} = 36$ | ${9 \choose 8} = 9$ | ${9 \choose 9} = 1$ | |
| ${10 \choose 0} = 1$ | ${10 \choose 1} = 10$ | ${10 \choose 2} = 45$ | ${10 \choose 3} = 120$ | ${10 \choose 4} = 210$ | ${10 \choose 5} = 252$ | ${10 \choose 6} = 210$ | ${10 \choose 7} = 120$ | ${10 \choose 8} = 45$ | ${10 \choose 9} = 10$ | ${10 \choose 10} = 1$ |
import itertools
def comb(n, k):
return len(list(itertools.combinations(range(n), k)))
res = []
for n in xrange(11):
res2 = []
for k in xrange(11):
if n >= k:
res2.append((n, k, comb(n, k)))
else:
res2.append(None)
res.append(res2)
print '<table>',
for row in res:
print '<tr><td>',
print '</td><td>'.join(map(lambda x: '${%s \\choose %s} = %s$'% x if x else '', row)),
print '</td></tr>',
print '</table>'