My father and I go to the restaurant everyday, and each one of us needs to grab a card, which has a number from 1 to 600. I thought about registering every new card we see in a list, and a question arose: "How many days, on average, would we need to see every possible card?"
- Each card has an equal probability of being chosen
- The two cards my father and I get are different
So far, I reasoned that the minimum number is 300, if it were the case that everyday we got different cards. In addition, it gets ever more harder to reach the final number of cards. When the list of seen cards is almost complete, it is more likely that we are going to draw a card that has already been seen before, and not a new one.
I coded 1000 simulations in python and this is the graph of the number of days expected to reach $n$ cards on average:

which is compatible with my reasoning, and results in an average of 2088 days for us to see each one of the 600 cards. But I would like to see a non-brute force way to derive such value.