Skip to main content
added 26 characters in body
Source Link
Mark Reed
  • 1.1k
  • 8
  • 16

Ruby, 76 6969 60 54 characters

f=(->x{[*1..x]+[*18..8).x]map{i=_1.reverse};putsabs;puts' f[9].map'*i+"#{|i|eval(f[i]*''?1*(9-i).center 17)**2}"}

(Thanks, Patrick, G B, and Slim Liser!)

Improvements welcome. :)

Ruby, 76 69 characters

f=->x{[*1..x]+[*1...x].reverse};puts f[9].map{|i|(f[i]*'').center 17}

(Thanks, Patrick!)

Improvements welcome. :)

Ruby, 76 69 60 54 characters

(-8..8).map{i=_1.abs;puts' '*i+"#{eval(?1*(9-i))**2}"}

(Thanks, Patrick, G B, and Slim Liser!)

Improvements welcome. :)

Adopted suggestion.
Source Link
Mark Reed
  • 1.1k
  • 8
  • 16

Ruby, 7676 69 characters

def f(a)a+af=->x{[*1.reverse[1.x]+[*1.-1]end;puts f [*1..9]x].reverse};puts f[9].map{|i|f|i|([*1..i]*''f[i]*'').center 17}

(Thanks, Patrick!)

Improvements welcome. :)

Ruby, 76 characters

def f(a)a+a.reverse[1..-1]end;puts f [*1..9].map{|i|f([*1..i]*'').center 17}

Improvements welcome. :)

Ruby, 76 69 characters

f=->x{[*1..x]+[*1...x].reverse};puts f[9].map{|i|(f[i]*'').center 17}

(Thanks, Patrick!)

Improvements welcome. :)

added 28 characters in body
Source Link
Mark Reed
  • 1.1k
  • 8
  • 16

Ruby, 76 characters

def f(a)a+a.reverse[1..-1]end;puts f [*1..9].map{|i|f([*1..i]*'').center 17}

Improvements welcome. :)

Ruby, 76 characters

def f(a)a+a.reverse[1..-1]end;puts f [*1..9].map{|i|f([*1..i]*'').center 17}

Ruby, 76 characters

def f(a)a+a.reverse[1..-1]end;puts f [*1..9].map{|i|f([*1..i]*'').center 17}

Improvements welcome. :)

Source Link
Mark Reed
  • 1.1k
  • 8
  • 16
Loading