Upsampling and zero order hold
Assuming a digital (discrete-time) sample rate conversion (upsampling) operation carried on old samples of a signal x[n] to upsample it by an integer factor R  by the utilization of a zero-order hold interpolation filter, you would essentially replicate (repeat) every new and empty (R-1) samples with the single old sample that they originate from. I guess the problem you have stems from the fact that you misinterpret the relation:
$$
n_{old}=\frac{n_{new}}{R}
$$

which is correct for continuous variables but not if you consider the fact that both $n_{old}$,$n_{new}$,and $R$ are integers. Therefore it cannot hold true for those samples $n_{new}$ which are not integer multiples of $R$

To remedy your confusion with the ZOH output index calculation, you shall better use the following interpretation as a relation between new and old sample indices:
$$ n_{old} = \lfloor \frac{n_{new}}{R} \rfloor$$

Where floor, with brackets $\lfloor$, $\rfloor$ is the mathematical operation that returns the largest integer that is less than or equal to its argument. 

Or you could, equally, define a ruling to map old and new samples as:
index $n_{old}$ is equivalent to the integer $K$, for all those $n_{new}$ that satisfy $K R \leq n_{new} &lt; (K+1)R$