Python,C,C++ and JAVA programs for CBSE, ISC, B.Tech and I.T Computer Science and MCA students

The Programming Project: Combinatoric selections : Problem 53 Euler Project

Sunday, September 7, 2014

Combinatoric selections : Problem 53 Euler Project

Combinatoric selections :Problem 53

There are exactly ten ways of selecting three from five, 12345:
123, 124, 125, 134, 135, 145, 234, 235, 245, and 345
In combinatorics, we use the notation, 5C3 = 10.
In general,
nCr =
n!
r!(n−r)!
,where rn, n! = n×(n−1)×...×3×2×1, and 0! = 1.
It is not until n = 23, that a value exceeds one-million: 23C10 = 1144066.
How many, not necessarily distinct, values of  nCr, for 1 ≤ n ≤ 100, are greater than one-million?

Problem Source : Euler Project

Python Code:

 def combinatoricSelection():
    def binomial(n,k):
        if k < 2:
            if k == 1:
                return n
            else:
                return 1
        else:
            return (n*binomial(n-1,k-1))/k
   
    n = 23
    counter = 0
    for i in range(78):
        i = i + n
        for j in range (i):   
            if binomial(i,j) > 1000000:
                counter = counter + 1
    print counter               
combinatoricSelection()


No comments:

Post a Comment