Begin forwarded message:

> From: Sigurd Rinde <sigurdr / gmail.com>
> Date: June 24, 2006 7:27:40 AM CDT
> To: submission / rubyquiz.com
> Subject: Please Forward: Ruby Quiz Submission
>
> My solution for pp Pascal (#84).
>
> My first rubyquiz attempt =)
> Fairly simple solution I think. Output looks nice too.
> Sig
>
> ----- pp_pascal.rb -----
> n = ARGV[0].to_i
>
> def pascal_line(n)
>   x = 1
>   (1..n).inject([]) do |a,i| a << x; x = x * (n-i)/i; a end
> end
> def pascal_max(n)
>   (1..n/2).inject(1) do |x,i| x = x * (n-i)/i end
> end
> def print_with_spaces(n, max)
>   len = n.to_s.length
>   diff = (max.to_f-len.to_f)/2
>   print " " * (diff - 0.1).round, n, " " * (diff).round
> end
>
> spaces = pascal_max(n).to_s.length
>
> (1..n).each do |i|
>   print " " * (spaces * (n-i)-1 / 2)
>   pascal_line(i).each do |j| print_with_spaces j, spaces; print " "  
> * spaces end
>   print "\r\n"
> end