```------art_20146_8801748.1151267058623
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

My code(in the spirit of golf,as ever)

def c(r,i)[r,i].min||r ?1:c(r-1,i)+c(r-1,i-1)end
def d(n)w
th.log10(c(n,n/2)).ceil+1;(0..n).map{|z|print "
"*((n-z)*w/2);(1..z).map{|b|printf("%#{w}d",c(z,b))};puts}end
d(5)

Or just code to generate the triangle:
def c(r,i)[r,i].min||r ?1:c(r-1,i)+c(r-1,i-1)end
def g(n)(1..n).map{|i|(1..i).map{|b|c(i,b)}}end

Another fun quiz!

j`ey
http://www.eachmapinject.com

On 6/25/06, Erik Veenstra <erikveen / dds.nl> wrote:
>
> >  fac  ambda{|n| n < 2 ? 1 : (1..n).inject{|f, i| f * i}}
> >  tri  ambda{|n, r| fac[n] / (fac[r] * fac[n-r])}
> >  size  ambda{|r| tri[r-1, r / 2].to_s.size + 1}
> >  line  ambda{|y, r| (0..y).map{|x| tri[y,x].to_s.center size[r]}}
> >  lines  ambda{|r| (0...r).map{|y| line[y, r]}}
> >  pascal  ambda{|r| lines[r].map{|l| l.join.center(size[r] *
> r).rstrip}}
> >
> >  puts pascal[(ARGV[0] || 15).to_i]
>
> Nice, but very, very slow...
>
> gegroet,
> Erik V. - http://www.erikveen.dds.nl/
>
>
>
>

------art_20146_8801748.1151267058623--

```