Average number of days to see all possible cards 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.

If you draw with replacement instead, then this is the coupon collector's problem, which has a simple solution and is still a good approximation of your situation (since drawing the same card twice on a given day is unlikely).
The expected number of draws to get all coupons from a set of $n$ is $n\sum_{k=1}^n\frac1k\approx n \log n + \gamma n + \frac12$, where $\gamma$ is Euler's constant. For $n=600$, this is about $4185$ draws, or $2092.5$ days at two draws/day.
We can adjust this to simulate drawing without replacement on each day. Drawing two cards without replacement is equivalent to drawing with replacement until we've seen two different cards. If we do this, each draw after the first one has an $\frac{n-1}n$ chance of being different from the first, so the expected number of draws per day is $1+\frac n{n-1}=2+\frac1{n-1}$. At this rate, it takes about $4185/(2+\frac1{599})\approx2090.75$ days to see all the cards.
