Advertisement
Guest User

Untitled

a guest
Dec 24th, 2014
415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.64 KB | None | 0 0
  1. def check(b):
  2.     for i in b:
  3.         iplusone = i+1
  4.         iminusone = i-1
  5.         if iminusone == 0: iminusone = 365
  6.         if iplusone == 366: iplusone = 1
  7.         if b.count([i]) > 1 or iplusone in b or iminusone in b: return True
  8.     return False
  9.  
  10. def test(x):
  11.     hits = {}
  12.     for i in range(0,x):
  13.         b = []
  14.         for j in range(1,365):
  15.             b.append(int(random.random()*365)+1)
  16.             if check(b):
  17.                 if hits.has_key(j):
  18.                     hits[j] += 1
  19.                 else:
  20.                     hits[j] = 1
  21.                 break
  22.     p = 0.5
  23.     needed = p*x
  24.     found = 0
  25.     for i in range(2,365):
  26.         found += hits[i]
  27.         if found > needed:
  28.             print ">%s achieved at %s (%s hits)"%(p,i,found)
  29.             print hits
  30.             break
  31.  
  32. test(1000000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement