Random number generation inside an interval based on cdf (Zipf and Exponential) Consider for example the Exponential distribution with c.d.f. $F(x) = 1-e^{-\lambda x}$. 
$F^{-1}(x)$ would be inverse cdf (quantile function). If I generate y=F−1(x) with x uniformily distributed on [0,1], then y will follow..
If I generate $y = F^{-1}(x)$ with x uniformly distributed on $0 \lt x \lt 1$, then y will follow the specific distribution.
So I have an idea but i don't know if it is realizable:
For different values of x, where $0 \lt x \lt 1$, if we can get 1000 random numbers with the equation, $y= F^{-1}(x)$. (lets assume, we get 10,4,5,77,2,11,10,....). 
Can we generate this 1000 random values in interval (for example) 0-100?
Hence, whether it is possible to generate random numbers "inside an interval" for exponential (and other distributions, in particular Zipf distribution).
UPDATE:
If we consider the Zipf Distribution that has (from Wikipedia):
$$ pdf(x) = \frac{1}{x^s \times H_{N,s}} $$
$$ cdf(x) = \frac{H_{x,s}}{H_{N,s}} $$
where $s \gt 0$ is the scale parameter, H is the Harmonic number $H_{N,s} = \sum_{i=1}^N \frac{1}{i^s}$
How can i generate a random generator "inside an interval" (for example from 1 to 100)?
Thank you
 A: The quantile function $x = Q(q)$ maps unit interval into the domain of your distribution, which is $\mathbb{R}^+$ in your case. One can perform the truncation of this distribution to 
any interval measurable with your distribution. Let it be $a<=x<b$. Then the c.d.f. of the truncated distribution will be $F_{[a,b)}(x) = \chi_{[a,b)}(x) (F(x)-F(a) )/(F(b)-F(a))$, where the $\chi$ is the indicator function for the interval. It is also easy to find quantile of this truncated distribution. $Q_{[a,b)}(q) = Q(F(a) + q*(F(b)-F(a))$. This last statement gives your algorithm to generate random numbers.
Here is the simulation experiment for standard exponential truncated to interval $[0,2)$. 

 EDIT
Quantile of Zipf distribution is not available in closed form, but can be numerically computed by finding the $$Q(q) = \mathop{sup} \{ x \in \mathcal{D} : cdf(x) \leq q \}$$
Once this is implemented, you can generate random variates from the truncated Zipf distribution (albeit the method is not very efficient) as so:
lb=1; ub=6;
di = ZipfDistribution[3/2];
fa = CDF[di, lb-1]; fb = CDF[di, ub];
Q[q_] := Quantile[di, fa + q*(fb - fa)]


A: If you wish to generate random numbers following a given density $f_x(x)$ (CDF $F_x(x)$) but restricted to an interval $[a,b]$, that would mean that you are interested in another random variable $y$ that follows the distribution of $x$ truncated to that range. This is simply the same density, properly normalized:
$$f_y(y) = \frac{1}{\int_a^b f_x(x) dx} f_x(y) \;\;, \;\; y\in[a,b] $$ 
From this, you can compute the CDF (on $[a,b]$ it's the same function, up to a scaling-offset), then compute it's inverse, and generate the random number using this modified quantile function.
Alternatively, you can also just generate $x$, and return if it falls inside the interval, otherwise keep trying until that happens. The resulting generate number will follow the truncated density (but this procedure will only be efficient if the probability that $x$ falls into that interval is not very small).
