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...