All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Probability
Trading cards (Posted on 2002-05-03) Difficulty: 3 of 5
A trading card series has 200 different cards in it, which are sold in 5-card packages.

Each package has a random sampling of the cards (assume that any card of the 200 has an equal chance of being in a package).

On the average, how many packages will need to be bought to collect the complete series if...

  • A: all the cards in a package will always be different
  • B: a package can have repeats

  • See The Solution Submitted by levik    
    Rating: 4.1818 (11 votes)

    Comments: ( Back to comment list | You must be logged in to post comments.)
    re(2): a method of solving problem A | Comment 34 of 36 |
    (In reply to re: a method of solving problem A by Charlie)

    The program used to implement Steve Hutton's algorithm, as modified, is:
    DEFDBL A-Z
    DIM p(1, 200)' second subscript is # of unique cards gained
    ' first is 0 for old generation (# of cards drawn) and 1 for
    ' next generation of # of cards drawn

    denom = 200# * 199 * 198 * 197 * 196
    p(0, 5) = 1 ' generation 1 where s = 1, certain to have 5 unique cards
    FOR s = 2 TO 15000
    FOR n = 5 TO 5 * s
    IF n > 200 THEN EXIT FOR
    i = 0: x = n - i
    p(1, n) = p(0, x) * x * (x - 1) * (x - 2) * (x - 3) * (x - 4) / denom
    i = 1: x = n - i
    p(1, n) = p(1, n) + 5 * p(0, x) * x * (x - 1) * (x - 2) * (x - 3) * (200 - x) / denom
    i = 2: x = n - i
    p(1, n) = p(1, n) + 10 * p(0, x) * x * (x - 1) * (x - 2) * (200 - x) * (200 - x - 1) / denom
    i = 3: x = n - i
    p(1, n) = p(1, n) + 10 * p(0, x) * x * (x - 1) * (200 - x) * (200 - x - 1) * (200 - x - 2) / denom
    i = 4: x = n - i
    p(1, n) = p(1, n) + 5 * p(0, x) * x * (200 - x) * (200 - x - 1) * (200 - x - 2) * (200 - x - 3) / denom
    i = 5: x = n - i
    p(1, n) = p(1, n) + p(0, x) * (200 - x) * (200 - x - 1) * (200 - x - 2) * (200 - x - 3) * (200 - x - 4) / denom
    NEXT
    FOR n = 5 TO 5 * s
    IF n > 200 THEN EXIT FOR
    p(0, n) = p(1, n)
    NEXT
    expVal = expVal + s * (p(1, 200) - prevProb)
    prevProb = p(1, 200)
    NEXT

    PRINT expVal, p(1, 200)


      Posted by Charlie on 2003-02-06 09:07:50

    Please log in:
    Login:
    Password:
    Remember me:
    Sign up! | Forgot password


    Search:
    Search body:
    Forums (0)
    Newest Problems
    Random Problem
    FAQ | About This Site
    Site Statistics
    New Comments (3)
    Unsolved Problems
    Top Rated Problems
    This month's top
    Most Commented On

    Chatterbox:
    Copyright © 2002 - 2017 by Animus Pactum Consulting. All rights reserved. Privacy Information