2bam

Untitled

Jul 5th, 2017
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.79 KB | None | 0 0
  1. from collections import defaultdict
  2.  
  3. d = defaultdict(lambda:0)
  4.  
  5. CAN_DISCARD = True
  6.  
  7. nlist = range(1, 11)
  8. op = ['-', '+']
  9. op2 = op + ['+0*'] if CAN_DISCARD else op
  10.  
  11. l = []
  12. for ns in ((i, j, k) for i in nlist for j in nlist for k in nlist):
  13.     td = set()
  14.     for ops in ((a, b, c) for a in op for b in op2 for c in op2):
  15.         s = ''.join(x + str(y) for x, y in zip(ops, ns))
  16.         print(s)
  17.         #s = ''.join(sorted(t))
  18.         key = eval(s)
  19.         if key > 0:
  20.             td.add(key)
  21.     l.append(str(ns) + ' can form ' + str(td))
  22.     for k in td:
  23.         print(k)
  24.         d[k] += 1
  25.  
  26. total = sum(d.values())
  27. for k, v in sorted(d.items(), key=lambda t: -t[1]):
  28.     print('{0}: - %{1}'.format(k, 100*v/(len(nlist)**3)))
  29.  
  30.  
  31. print(len(l))
  32. with open('asd.txt', 'w') as f:
  33.     for i, x in enumerate(l):
  34.         f.write('{0}.{1}\n'.format(i, x))
Advertisement
Add Comment
Please, Sign In to add comment