Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.55 KB | None | 0 0
  1. from itertools import permutations
  2. from math import factorial
  3.  
  4. for N in range(4, 21, 2):
  5. perms = factorial(N)
  6. zeros = 0
  7. for tail in permutations(range(2, N+1)):
  8. order = (1,) + tail
  9. lefts = (order[-1],) + order
  10. rights = tail + (order[0],)
  11. for left, n, right in zip(lefts, order, rights):
  12. # if n in between:
  13. if (left < n) == (n < right):
  14. break
  15. else:
  16. zeros += 1
  17. zeros *= N
  18.  
  19. print(f'N = {N}:\t {zeros} / {perms} \t= {zeros / perms}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement