]> AND Private Git Repository - 14Secrypt.git/blob - experiments/calculeNbSouslistes.py
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
ajout de cr
[14Secrypt.git] / experiments / calculeNbSouslistes.py
1 from math import *  
2
3
4 def binomialCoefficient(n, k):
5     if k < 0 or k > n:
6         return 0
7     if k == 0 or k == n:
8         return 1
9     diff = n - k
10     k = min(k, n - k) # take advantage of symmetry
11     c = 1
12     for i in range(k):
13         c = c * (n - i) / (i + 1)
14     return c
15
16 def bi(n):
17     return sum([binomialCoefficient(2**(n-2)-2, 2*lp-2) for lp in range(2**(n-1))[2:]])
18     """
19     k = 2**n/n
20     l = k if k%2 == 0 else k-1
21     print "++", 2**(n-2)-2, l-2,binomialCoefficient(2**(n-2)-2, l-2)           
22     return binomialCoefficient(2**(n-2)-2, l-2)
23     """           
24 stx ="" 
25 sti =""
26 for n in range(5,10):
27     stx+= str(n) + " & "
28     sti+= str(float(bi(n))) + " & "
29
30 print stx, "\n", sti