# cat blog >> /dev/brain 2> /proc/mind
cat blog >> /dev/brain 2> /proc/mind
# cat combgen #!/usr/bin/python # Combinatoric generator from sys import argv from itertools import combinations, permutations, product f=argv[1] r=int(argv[2]) n=argv[3::] def doprint(r): for i in r: for j in i: print j, print def calc_combination(n,r): fr=1 for i in range(0,r): fr=fr*(i+1) return calc_permutation(n,r)/fr def calc_permutation(n,r): ln=len(n) lnr=ln-r fn=1 for i in range(0,ln): fn=fn*(i+1) fnr=1 for i in range(0,lnr): fnr=fnr*(i+1) return fn/fnr def calc_product(n,r): ln=len(n) return ln**r def help(): print "Usage: combgen <combination|permutation|product> <r> <n>" if f == 'combination': print "Combinations = ",calc_combination(n,r) doprint(combinations(n,r)) elif f == 'permutation': print "Permutations =",calc_permutation(n,r) doprint(permutations(n,r)) elif f == 'product': print "Products =",calc_product(n,r) doprint(product(n,repeat=r)) else: help()
cat combgen
Post a Comment
No comments:
Post a Comment