3 trams are coming every 10, 15 and 15 minutes. On average, how long do I have to wait for any tram to come? 3 trams are coming to the stop every 10, 15 and 15 minutes.
 On average, how long do I have to wait for any tram to come?
It's a practical problem, not some kind of a riddle for which I have a surprising magic trick or an answer. I really don't know. I was waiting for a tram when this question come to my mind. So, if you ask me for example "how the trams are driving?" my answer will be I don't know, I have the same (or lesser) tram knowledge as you. Assume some accurate (probably probabilistic;) model and present the answer, for example "5 minutes" + showing how you obtain this result. Perfect answer will generalize the problem, answering how long do we have to wait when the trams come every $x_1, x_2, x_3...$ minutes. But even the basic problem is not as easy as it is looking, so feel warned.
 A: There are (at least) three reasonable probability models for this problem: (a) the Poisson process model (see heropup's answer), (b) the assumption that the trams arrive on time according to a scheme known to the user (for  examples see PhiNotPi's and user1008646's answers), and (c) the assumption that the trams arrive on time with unknown but equidistributed phases. In the following I shall treat model (c).
Model (c) is equivalent to the following: A random point $P=(X,Y,Z)$ is chosen in the block $$B:=\{(x,y,z)\>|\>0\leq x\leq15,\ 0\leq y\leq 15,\ 0\leq z\leq 10\}\ .$$
The waiting time $T$ is then given by $T=\min\{X,Y,Z\}$. The points $P$ with waiting time between $t$ and $t+dt$ are lying in the union of three rectangular panels of thickness $dt$ and having a distance $t$ from the planes $x=0$, $y=0$, and $z=0$ respectively. The area of the two vertical panels is $(10-t)(15-t)$, and the area of the horizontal one is $(15-t)(15-t)$. It follows that the probability distribution function $f_T$ of the waiting time is given by
$$f_T(t)={1\over2250}(525-80t+3t^2)\qquad(0\leq t\leq10)\ .$$
From this we obtain the expected waiting time as
$$E(T)=\int_0^{10} t\>f_T(t)\ dt={85\over27}\ .$$
A: EDIT:  When in doubt, simulate!
I wrote the following Mathematica program (it gets the job done, but I'm somewhat a Mathematica novice).
a = {};
Do[b = RandomReal[]*15; c = RandomReal[]*15; 
 a = Append[a, 
   ContraharmonicMean[
    Differences[Sort[{0, 10, 20, 30, b, b + 15, c, c + 15}]]/
     2]], {100000}]
Print[Mean[a]]
Print[StandardDeviation[a]]

Basically, it creates a random offset for the two 15-minute trams, calculates the length of the intervals and wait time, and finds the weighted average.  It then repeats this $100000$ times.
The results were $3.147327637397844$ for the mean and $0.33480521158615867$ for the standard deviation.  The $95\%$ confidence interval is (if I did by math correctly) about $3.145,3.149$.  (Note that this was the average wait time, so the average interval is twice this.)
EDIT:  An attempt to simulate to find the minimum average resulted in $2.66667$.  This agrees perfectly with user1008646's answer, which I believe gives one type of ideal schedule.

Original answer:
I'm making the assumption that the trams all start together, like so:
1: @.........@.........@.........@.........@.........@.........@
2: @..............@..............@..............@..............@
3: @..............@..............@..............@..............@
   time->

From this, we can see that there is a repeating pattern composed of two 10-minute gaps and two 5-minute gaps.
The 10-minute gaps give an average wait time of 5 minutes, while the 5-minute gaps give an average wait time of 2.5 minutes.  You are twice as likely to be stuck in a 10-minute gap than in a 5-minute gap, so the weighted average is:
$$5 \times \frac{2}3 + 2.5 \times \frac{1}3 = \frac{25}6$$
So the average wait time is about 4 minutes 10 seconds.
If the trams have a staggered start, then the average wait would be shorter.
A: A statistical method is to model the random arrival time of the trains as three Poisson processes.  Thus, the interarrival times of each train are IID exponential random variables $X_1$, $X_2$, $X_3$ with means $\mu_1$, $\mu_2$, $\mu_3$.  The random waiting time until the first train's arrival is the minimum (first) order statistic $X_{(1)}$.  We see that this has probability distribution $$F_{X_{(1)}}(x) = \Pr[X_{(1)} \le x] = 1 - \prod_{i=1}^3 \Pr[X_i > x] = 1 - e^{-Kx},$$ where $K = \mu_1^{-1} + \mu_2^{-1} + \mu_3^{-1}.$  Thus the minimum order statistic is also exponential with mean $1/K$, hence the mean arrival time of the first train is $1/(\mu_1^{-1} + \mu_2^{-1} + \mu_3^{-1})$.  For $\mu_1 = 10$, $\mu_2 = 15$, $\mu_3 = 15$, we immediately get ${\rm E}[X_{(1)}] = \frac{30}{7}$.
Moreover, we can see that the sum of $n$ independent (homogeneous) Poisson processes with rates $\lambda_1, \lambda_2, \ldots, \lambda_n$ is itself a Poisson process with rate equal to the sum of the individual rates.  So, the mean waiting time for the next event is $\left( \sum_{i=1}^n \lambda_i \right)^{\!\!-1}.$
A: It depends on their offset from the top of the hour.  As PhiNotPi stated, if all three arrive at the top of the hour, then during a period of 30 minutes, trains will arrive at times  10,15,20,30.  If you arrive at a random time during that 30 minutes your average  wait will be 25/6 minutes. 
If the first tram arrives at the top of the hour, the second at 2 minutes after the hour, and the third at 8 minutes after the hour, the times will be:
2,8,10,17,20,23,30
resulting in a much shorter average wait of 16/6 minutes.
A: I guess my idea is similar to Christian Blatter above. I did a R simulation with the assumptions that buses arrive promptly every 10 and 15 minutes, respectively. However, the interval time among buses is fixed with uniformly distributed starting times. I simulate buses between [0,10000] minutes and the guy arriving at the bus stop at time t in [50,9950] and check the minimum time to next bus (which arrives first out of 3).
Most of the time I get a minimum average waiting time in the of range of [3.11,3.16] minutes which covers Blatters value of 85/27 ~ 3.15.
upperbound <- 10000
waitVector <- vector()
nbRuns <- 10000
for(counter in 1:nbRuns) {
    seq1 <- 10*runif(1) + seq(from=0,to=upperbound,by=10)
    seq2a <- 15*runif(1) + seq(from=0,to=upperbound,by=15) # uniformly distributed, but fixed distance among buses
    seq2b <- 15*runif(1) + seq(from=0,to=upperbound,by=15) # uniformly distributed, but fixed distance among buses
    seq3 <- sort(c(seq1,seq2a,seq2b))
    arrivalTime <- runif(n=1,min=50,max=(upperbound-50))
    minSeq <- seq3 - arrivalTime
    minSeq <- minSeq[minSeq > 0] # cant catch bus who left before I arrived
    minTime <- min(minSeq)
    waitVector <- c(waitVector,minTime)     
}
minAvgWaitTime <- mean(waitVector)
print(range(waitVector))
print(paste("Minimum avg wait time base on ",nbRuns," simulations is: ",minAvgWaitTime,sep=""))

A: Call them tram 1 tram 2 and tram 3. There is a 10/40 chance you will catch tram 1 and on average you will have to wait 5 min.  There is a 15/40 chance you will catch tram 2 and on average will wait 7.5 min. ditto tram 3. I make that 6.875 min.
A: Suppose that none of the trains come simultaneously. Wait significant amount of time, say $N >> 1$ hours. Then the interval of $N$ hours will be punctured by $6N$ arrivals of the 10-min train, $4N$ arrivals of the 1st 15-min train, and $4N$ arrivals of the 2nd 15-min train. This breaks the $N$-hour interval into $14N$ waits between arrivals. Therefore the average wait is $60/14$ minutes.
EDIT: as pointed out in the comment, $60/14$ is the average interval length between the trains; however, the average wait should be $1/2$ of the interval length. Therefore the correct answer for the wait is $60/28$.
EDIT 2: as pointed out by the commenter, the answer is, generally speaking, incorrect. On the, eh, 3rd thought I realized the cause of my error: the average wait is not proportional to the average size of the interval; it's proportional to the 2nd moment of the interval.
Let me elaborate on the above a bit: suppose that the interval lengths are $X_i,1\le i
\le n$. Let $\Sigma_{i=1}^n X_i=1$ for simplicity. The probability of landing in the interval $X_i$ is $X_i$. The average wait on the assumption that you landed in $X_i$, is $X_i/2$. Therefore the average wait among all intervals is $\Sigma_{i=1}^n X_i\cdot X_i/2=1/2\cdot M_2$, where $M_2$ is the 2nd moment of the distribution $X_i$. The prior computations applied to the 1st moment $M_1$, also known as average.
So the correct answer should make further assumption on the distribution of the intervals.
