Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import division
- P={(0,0,0):1.0,0:1.0}
- maxn=40
- for n in range(1,maxn+1):
- P[n]=0
- for m in range(0,min(n,365)+1):
- for f in range(0,min(n-m,365-m)+1):
- P[(n,m,f)]=0
- if m>0:
- P[(n,m,f)]+=P[(n-1,m-1,f)]*0.5*(365-(m-1+f))/365
- if f>0:
- P[(n,m,f)]+=P[(n-1,m,f-1)]*0.5*(365-(m+f-1))/365
- if m+f<n:
- P[(n,m,f)]+=P[(n-1,m,f)]*0.5*(m/365+f/365)
- P[n]+=P[(n,m,f)]
- for n in range(1,maxn+1):
- print n, ':', P[n]
- 1 : 1.0
- 2 : 0.998630136986
- 3 : 0.995896040533
- 4 : 0.99180893637
- 5 : 0.986385569532
- 6 : 0.979648089944
- 7 : 0.97162390155
- 8 : 0.962345476415
- 9 : 0.951850135573
- 10 : 0.940179798689
- 11 : 0.927380704889
- 12 : 0.913503107365
- 13 : 0.89860094457
- 14 : 0.882731491026
- 15 : 0.865954990904
- 16 : 0.84833427764
- 17 : 0.829934382971
- 18 : 0.81082213875
- 19 : 0.791065774958
- 20 : 0.770734517272
- 21 : 0.749898187457
- 22 : 0.728626809789
- 23 : 0.706990226541
- 24 : 0.685057725405
- 25 : 0.662897681551
- 26 : 0.640577216773
- 27 : 0.61816187797
- 28 : 0.595715336916
- 29 : 0.573299113048
- 30 : 0.550972320697
- 31 : 0.528791441903
- 32 : 0.5068101257
- 33 : 0.485079014433
- 34 : 0.463645597425
- 35 : 0.442554092023
- 36 : 0.421845351807
- 37 : 0.401556801477
- 38 : 0.381722397735
- 39 : 0.362372615245
- 40 : 0.343534456566
Add Comment
Please, Sign In to add comment