Dividing elements of a list by their positions

MapIndexed[#1/First[#2] &, t1]

or

#/Range[Length[#]] &[t1]

All return:

(* Out: {2, 3/2, 5/3, 7/4, 11/5, 13/6, 17/7, 19/8, 23/9, 29/10} *)

For this specific list (list of primes) one can do:

Array[ Prime[#]/# &, 10]

or in more general case:

Array[ t1[[#]]/# &, 10]

Nonetheless I still find Range the most efficient and elegant:

t1/Range[10]
 {2, 3/2, 5/3, 7/4, 11/5, 13/6, 17/7, 19/8, 23/9, 29/10}

or t1/Range[ Length[t1]].


For the particular t1 in OP:

t1 / PrimePi[t1]
 {2, 3/2, 5/3, 7/4, 11/5, 13/6, 17/7, 19/8, 23/9, 29/10}

In general,

(i = 1; Map[# / i++ &]) @ t1
{2, 3/2, 5/3, 7/4, 11/5, 13/6, 17/7, 19/8, 23/9, 29/10}
lookMaNoRange = Accumulate[1 & /@ #] &;
t1 / lookMaNoRange[t1]
{2, 3/2, 5/3, 7/4, 11/5, 13/6, 17/7, 19/8, 23/9, 29/10}
lookMaNoRange2 = (i = 1; Map[i++ &]);
t1 / lookMaNoRange2[t1]
{2, 3/2, 5/3, 7/4, 11/5, 13/6, 17/7, 19/8, 23/9, 29/10}

etc...