Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.45 KB | None | 0 0
  1. def exp(p,n):
  2.     if n == 1: return p
  3.     x = exp(p,n//2)**2
  4.     if n % 2 == 1: x *= p
  5.     return x
  6.  
  7. N = 10**10
  8. M = 4000
  9. ans = 0
  10. for i in range(N//2):
  11.     flips = (i - 0 + 1) * (N-1 - i + 1) * 2 - 1
  12.     rest = 0.5 * exp(1-2*(flips/(N*N)),M)
  13.     ans += 0.5 + rest
  14.     if rest <= 1e-12:
  15.         ans += 0.5 * ((N//2 - 1) - i) # For j > i, the contribution is almost exactly 0.5
  16.         ans *= 2 # Factor in N//2 <= j <= N-1
  17.         break
  18. print(ans)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement