Pascal's triangle/Puzzle: Difference between revisions

Content added Content deleted
(add Ruby)
Line 590: Line 590:


=={{header|Ruby}}==
=={{header|Ruby}}==
<lang ruby># uses [[Reduced row echelon form#Ruby]]
uses [[Reduced row echelon form#Ruby]]
require 'rref'
<lang ruby>require 'rref'


pyramid = [
pyramid = [
Line 633: Line 633:


for eqn in reduced
for eqn in reduced
if eqn[0] == 1 and eqn[1] == 0 and eqn[2] == 0: x = eqn[3]
if eqn[0] + eqn[1] + eqn[2] != 1
fail "no unique solution! #{equations.inspect} ==> #{reduced.inspect}"
elsif eqn[0] == 0 and eqn[1] == 1 and eqn[2] == 0: y = eqn[3]
elsif eqn[0] == 0 and eqn[1] == 0 and eqn[2] == 1: z = eqn[3]
elsif eqn[0] == 1: x = eqn[3]
elsif eqn[1] == 1: y = eqn[3]
else
elsif eqn[2] == 1: z = eqn[3]
fail "no solution? #{equations.inspect} ==> #{reduced.inspect}"
end
end
end
end