#Haskell, 35 <s>38</s> bytes List comprehension thanks to nimi: f x=unlines[[1..n]>>"*"|n<-[1..x]] Old version: f 0="" f n=f(n-1)++([1..n]>>"*")++"\n" Alternate version: g n=([1..n]>>"*")++"\n" f n=[1..n]>>=g